인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ᄒᄉ님의 프로필 이미지
ᄒᄉ

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이2

메서드 문제와 풀이 2

해결된 질문

작성

·

331

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
여기에 질문 내용을 남겨주세요.

=========================================

저는 if, else if로 풀었는데 결과는 같지만 이렇게 작성하면 어떤 점이 다른지, 개선해야 될 부분이 어떤 것이 있는지 궁금합니다! (메인 부분만 가져왔어요!)

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int balance = 0;
        int amount;
        int withdraw;

        while (true) {
            System.out.println("---------------------------------");
            System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료");
            System.out.println("---------------------------------");
            System.out.print("선택: ");
            int menu = sc.nextInt();
            sc.nextLine();

            if (menu == 1) {
                System.out.print("입금액을 입력하세요: ");
                amount = sc.nextInt();
                balance = deposit(balance, amount);
            } else if (menu == 2) {
                System.out.print("출금액을 입력하세요: ");
                withdraw = sc.nextInt();
                balance = withdraw(balance, withdraw);
            } else if (menu == 3) {
                System.out.println("현재 잔액: " + balance);
            } else if (menu == 4) {
                System.out.println("시스템을 종료합니다.");
                break;
            } else {
                System.out.println("잘못 입력하셨습니다.");
            }
        }

    }


답변 2

2

안녕하세요. ᄒᄉ님, 공식 서포터즈 OMG입니다.

강의에서는 반복문 안에서 호출하는 if문과 switch문의 가장 큰 차이는 break;

를 사용 시 if문에서는 If문을 감싸는 반복문에 break;가 적용되지만

switch에서는 switch문에서의 break;가 동작합니다.

-

그래서 강의에서는 종료를 위해 return;을 사용했고 imageㅎㅅ님의 경우 if문을 사용했기 때문에 break;만 호출하더라도 반복문을 탈출할 수 있게되었습니다.

이 점이 제가 생각했을 때 가장 큰 차이점이고 그 외 코드는 withdraw라는 변수를 하나 더 사용하신 것 같은데, 변수 1개를 더 추가해서 사용하는게 코드 읽기에 더 편하다 생각한다면 추가해도 괜찮다고 생각합니다.

 

감사합니다.

1

ᄒᄉ님의 프로필 이미지
ᄒᄉ
질문자

감사합니다!!

ᄒᄉ님의 프로필 이미지
ᄒᄉ

작성한 질문수

질문하기