조건문

switch/case 문에 String과 enum을 사용할 수 있는가?

YES

Java는 switch의 fall-through를 컴파일 타임에 막아주는가?

NO

  • C#은 막아줌
  • Java는 막아주지 않으므로 break를 넣는 것이 좋은 습관

다음 switch 문에 대해 답하라

public static void printMood(String season) {
    switch (season) {
        case "spring":
            System.out.println("happy");
        case "fall":
            System.out.println("sad");
        case "summer":
            System.out.println("hot");
        case "winter":
            System.out.println("cold");
        default:
            System.out.println("huh?");
    }
}

printMood(“Winter”) 의 출력은?

huh?
  • switch의 case 매칭은 대소문자를 구분함 → “Winter”는 어떤 case와도 일치하지 않음
  • 일치하는 case가 없어 default 실행

printMood(“winter”) 의 출력은?

cold
huh?
  • “winter” case가 일치
  • break가 없어 fall-through 발생 → default까지 이어서 실행

0건의 항목