Switch Expression
📌어떤 용도로 사용하는가?
1. 동등비교연산자 = !=가 사용된 조건식을 가지는 다중 if문을 대체할 때
2. 기존 switch문의 fall through기법을 대체할 때
( fall through : switch문에서 case내에서 의도적으로 break를 생략하여 다음 case로 이동시키는 방법 )
int me = 4;
String operation = "SquareMe";
result = switch(operation) {
case "DobleMe" -> me * 2;
case "SquareMe" -> 16;
default -> me;
};
System.out.println(result);
} // main
↪️ A switch expression should have a default case!
(= switch expression이 값을 생성하는 식이라면, default에 값을 생성해야 한다. )
📌yield를 사용한 방법
int me = 4;
String operation = "SquareMe";
result = switch(operation) {
case "DobleMe" -> me * 2;
case "SquareMe" -> 16;
default -> {
yield me;
}
};
System.out.println(result);
} // main
↪️ 값을 생성하는 식 yield를 사용하되, 중괄호 {}마저 생략되면 Lambda Expression 생략 규칙에 따라 반드시 yield까지 생략되어야한다.