Hyebin‘s blog
Published 2023. 1. 7. 18:06
switch문 JAVA

 

우리가 기본적으로 알 고 있는 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
profile

Hyebin‘s blog

@hyebin Lee

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그