[즐거운 자바] 제어문 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);
위와 같은 예시도 가능하다!
Leave a comment