[즐거운 자바] 제어문 switch

switch

  • 제어문이다
  • 이론적으로는 if문보다 switch문이 빠르다고는 하나 실제적이지는 않다
  • JDK 7 이상에서만 switch에서 String 타입을 사용할 수 있다.
switch(변수){
  case 'a':
    변수의 값이 'a'  실행된다.
  case '5':
    변수의 값이 '5'  실행된다.
    break;
  default:
    모든 케이스에 맞지 않으면 실행된다.
}
  • 변수에 따라 case로 건너가 실행하게 된다.
  • defualt 주의 case의 마지막에 break가 없을 경우 아래의 case들도 계속해서 차례로 실행된다.

enhanced switch : 개선된 switch 문

break

case 라벨에 따라 달라진다.
의 경우에는 break를 넣지 않으면 계속 아래가 실행되지만
->를 사용하면 해당 케이스만 실행하고 종료된다.

다중 case label

2와 4일 때 같은 결과를 출력하고 싶으면

switch(변수){
  case 2:
  case 4:
    System.out.println('~');
}

위와 같이 case문을 반복하여 열거해야 했다. 하지만 개선된 이후로

switch(변수){
  case 2,4 -> System.out.println('~');
}

,를 통해 한 번에 처리할 수 있다.

변수에 바로 대입

enum Day{MON, TUE, WED, THUR, FRI, SAT, SUN}
Day today=Day.MON;
String result = switch (today) {
    case MON, TUE, WED, THUR, FRI -> today.name() + " is Weekday";
    case SAT, SUN -> today.name() + " is Weekend";
};
System.out.println(result);

위와 같은 예시도 가능하다!

Categories:

Updated:

Leave a comment