우리가 기본적으로 알 고 있는 switch문은 이러하다.
java 12 이전
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 = "휴일";
}
java 12 이후부터는 switch문에서 Expresstion(표현식)을 사용할 수 있다.
위와 같은 switch문을 다음과 같이 변경할 수 있게 되었다.
brack문을 없애고, 화살표와 중괄호를 사용하여 가독성이 좋아졌다.
중괄호 안에 실행문이 하나만 있을 경우에는 중괄호를 생략할 수 있다.
java 12 이후
String time = switch (weekday) {
case MONDAY, FRIDAY -> "10:00-18:00";
case TUESDAY, THURSDAY -> {
"10:00-14:00";
}
default -> "휴일";
};
java 13부터는 switch문에 스위치된 값을 변수에 바로 대입할 수도 있다.
단일 값일 경우에는 화살표 오른쪽에 값을 쓰면 되고,
중괄호를 사용할 경우에는(연산식을 사용해야할 경우) yield 키워드로 값을 지정하면 변수값으로 저장된다.
하지만 이 경우에는 반드시 default가 존재해야한다.
int result = switch (mode) {
case "a", "b" -> 1;
case "c" -> 2;
case "d", "e", "f" -> {
// do something here...
System.out.println("Supports multi line block!");
yield 3;
}
default -> -1;
};
'JAVA' 카테고리의 다른 글
배열 (0) | 2023.01.15 |
---|---|
참조 타입, 문자열 (0) | 2023.01.15 |
비교 연산자 (0) | 2023.01.05 |
증감연산자, 오버플로우와 언더플로우 (0) | 2022.12.18 |
패키지, 클래스 ,메소드 선언 & 변수와 연산 (0) | 2022.12.18 |