본문 바로가기

개발/Java

[Java] 자바 - switch문 (조건문)

< switch문 >

 

[ 표현법 ]

 

switch(아래에 기술할 값들과 동등비교를할 대상) {

    case 정수/문자/문자열 값1 : 실행할 코드1; => 값1이 true일 경우 실행할 코드

        break;

    case 정수/문자/문자열 값2 : 실행할 코드2; => 값2가 true일 경우 실행할 코드

        break;

    case 정수/문자/문자열 값n : 실행할 코드n; => 값n이 true일 경우 실행할 코드

        break;

    default : 실행할 코드; => else

        return; 

}

 

- break : switch문의 코드블럭을 빠져나감

- return : 현재 실행되고 있는 메소드 영역을 아예 빠져나가서 메소드가 호출된 부분으로 돌아감

 

 

// switch => 한식가게(K-food)
public void kFoodMarket() { // 메소드 영역 시작
    // 사용자에게 구매할 한식의 이름을 입력받아
    // 각 음식마다의 가격을 출력해줄 것

    // 된장찌개, 김치찌개, 비빔밥, 국밥, 고등어순살조림, 떡볶이
    // 7000,      7000,     7000,  8000,      9000,      5000
    Scanner sc = new Scanner(System.in);

    System.out.println("~~~~ 어서오십시오 ~~~~");
    System.out.println("구매할 음식을 선택해주세요.(된장찌개/김치찌개/비빔밥/국밥/고등어조림/떡볶이) : ");
    String kFood = sc.nextLine();

    int price = 0;

    switch(kFood) { // 스위치 영역 시작
        case "된장찌개" : 
        case "김치찌개" :
        case "비빔밥" : price = 7000;
            break;
        case "국밥" : price = 8000;
            break;
        case "고등어조림" : price = 9000;
            break;
        case "떡볶이" : price = 5000;
            break;
        default : System.out.println("없는 메뉴입니다.");

        return; // 메소드 호출부분으로 돌아감
    } // 스위치 영역 끝

    System.out.printf("%s은(는) %d원 입니다.", kFood, price);

} // 메소드 영역 끝