Java/[inflearn] 자바 입문
[김영한_자바입문][9. 메서드] 변수 선언 및 초기화 (p.30)
줌인.
2024. 1. 19. 22:38
switch 문에서 사용될 동적인 값인 amount를 미리 선언하여,
각 case에서 값을 입력받고 메소드에 전달하기 위해 변수를 초기화하지 않은 것이다.
▶ 기존 코드 작성 내용 참고
https://zoooom-in.tistory.com/27
[김영한_자바입문][4. 조건문] 변수 선언 및 초기화 (p.11)
[교재에 표기된 코드] _ coupon 변수 선언 public static void main(String[] args) { int grade = 2; int coupon; if (grade == 1) { coupon = 1000; } else if (grade == 2) { coupon = 2000; } else if (grade == 3) { coupon = 3000; } else { coupon = 500;
zoooom-in.tistory.com
[p.30 / 내가 작성한 코드 및 교재 작성 코드] int amount 단순 변순 선언
public class MethodEx4Ref4_1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int balance = 0;
int amount;
while (true) {
System.out.println("======================================");
System.out.println("1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료");
System.out.println("======================================");
System.out.print("선택 : ");
int option = scanner.nextInt();
switch (option) {
case 1:
System.out.print("입금액을 입력하세요 : ");
amount = scanner.nextInt();
balance = deposit(balance, amount);
break;
case 2:
System.out.print("출금액을 입력하세요 : ");
amount = scanner.nextInt();
balance = withdraw(balance, amount);
break;
case 3:
System.out.println("현재 잔액 : " + balance + "원");
break;
case 4:
System.out.println("시스템을 종료합니다.");
return;
default:
System.out.println("option 선택을 확인해주세요");
}
}
}
public static int deposit(int balance, int amount) {
balance += amount;
System.out.println(amount + "원을 입금하였습니다. 현재 잔액 : " + balance + "원");
return balance;
}
public static int withdraw(int balance, int amount) {
if (amount > balance) {
System.out.println(amount + "원을 출금하려 했으나 잔액이 부족합니다.");
return balance;
}
balance -= amount;
System.out.println(amount + "원을 출금하였습니다. 현재 잔액 : " + balance + "원");
return balance;
}
상기 값에 단순 변수 선언을 한 이유는?
`switch` 문 안에서 각 `case`에 따라서 `amount` 값을 입력받고 메소드에 전달하기 위해서 미리 변수를 선언했다.
즉 조건에 따라 동적으로 변함에 따라 Main 코드에 초기화 없이 변수 amount만 선언한 것이다.
728x90