Java12에서 Switch문을 사용하는 방법과 예제입니다.
잘못된 부분이 있으면 코멘트 남겨주시면 감사하겠습니다.
Switch문
Switch문이 확장되었습니다.
지금까지 사용했던 Switch문은 아래와 같습니다.
String time;
switch (weekday) {
case MONDAY:
case FRIDAY:
time = "10:00-18:00";
break;
case TUESDAY:
case THURSDAY:
time = "10:00-14:00";
break;
default:
time = "휴일";
}
위와 같은 Switch문을 아래와 같이도 작성할 수 있게 되었습니다.
String time = switch (weekday) {
case MONDAY, FRIDAY -> "10:00-18:00";
case TUESDAY, THURSDAY -> "10:00-14:00";
default -> "휴일";
};
지금까지는 Switch문을 사용하게 되면 작성해야 하는 양이 많았지만 break이나 값 설정 부분이 간략하게 되었습니다.
복수의 case
case에 복수의 값을 설정할 수 있게 되었습니다.
switch (weekday) {
case MONDAY, FRIDAY:
time = "10:00-18:00";
break;
case TUESDAY, THURSDAY:
time = "10:00-14:00";
break;
default:
time = "휴일";
}
지시자(->) 문법
->를 사용하는 것으로 break를 사용하지 않게 되었습니다.
String time;
switch (weekday) {
case MONDAY, FRIDAY -> time = "10:00-18:00";
case TUESDAY, THURSDAY -> time = "10:00-14:00";
default -> time = "휴일";
}
블록을 사용하여 여러가지 처리를 작성할 수 있습니다.
String time;
switch (weekday) {
case MONDAY, FRIDAY -> {
var endTime = getEndTime();
time = "10:00-" + endTime;
}
case TUESDAY, THURSDAY -> time = "10:00-14:00";
default -> time = "휴일";
}
Switch식
Switch를 식으로도 사용할 수 있습니다.
지시자 문법을 사용하지 않는 경우나 지시자 문법에 블록을 사용한 경우는 break로 값을 반환합니다.
String time = switch (weekday) {
case MONDAY, FRIDAY -> {
var endTime = getEndTime();
break "10:00-" + endTime;
}
case TUESDAY, THURSDAY -> "10:00-14:00";
default -> "휴일";
};
댓글