본문 바로가기
3.1 Java_Backend/Java

[Java] 스위치 표현식 Switch Expressions

by Dohi._. 2024. 10. 21.
728x90

Java 12부터 지원(테스트)하여 정식적으로 14에 switch 표현식을 지원하게되었습니다

(https://openjdk.org/jeps/361

즉, Springboot 3(17이상)은 고려 안하고 사용 가능하다는점

 

기본방식(12 )

// 변수 선언
타입 변수 = 값;

//switch 표현식
타입 반환값 = switch (변수) {
    case 값1 -> 결과1;   // 첫 번째 경우
    case 값2 -> 결과2;   // 두 번째 경우
    default -> 기본결과; // 모든 경우에 해당하지 않을 때
};

System.out.println(반환값);

--- 혹은 ---- 
switch (변수) {
    case 값1 -> 결과1;
    case 값2 -> 결과2;
    default -> 기본결과; 
}

 

예제  돌려보기

  int day = 5;
       String dayName = switch (day) {
            case 1 -> "월요일";
            case 2 -> "화요일";
            case 3 -> "수요일";
            case 4 -> "목요일";
            case 5 -> "금요일";
            case 6 -> "토요일";
            case 7 -> "일요일";
            default -> "잘못된 날";
       };
       System.out.println(dayName);

 

yield 예약어 (13↑) 

return이라고 생각하면 편하다 

예시 yield 돌려보기

       int day = 8;
       String dayName = switch (day) {
            case 1,8 -> {  
                System.out.println("하이");
                yield "월요일";
            }
            case 2 -> "화요일";
            case 3 -> "수요일";
            case 4 -> "목요일";
            case 5 -> "금요일";
            case 6 -> "토요일";
            case 7 -> "일요일";
            default -> "잘못된 날";
       };
       System.out.println(dayName);

해당 코드로 중괄호를 사용해서 복잡한 로직이 가능해 졌다 

728x90

'3.1 Java_Backend > Java' 카테고리의 다른 글

[Java] 웹 스크래핑하기 (Jsoup)  (0) 2024.10.05
[Java/구현] 집합  (0) 2024.08.09
[Java/기초] Stream  (0) 2024.08.05
[Java/기초] 주석  (0) 2024.07.22
[Java/기초] 스트림  (0) 2024.07.21

댓글