스위치 케이스
Source: Dev.to
스위치 문이란?
Java에서 switch 키워드는 여러 대안 중 하나의 코드 블록을 실행하는 데 사용됩니다. 표현식은 한 번 평가되고 각 case 값과 비교됩니다. 표현식이 어떤 case 값과 일치하면 해당 case의 코드가 실행됩니다. 일치하는 것이 없으면 default case의 코드가 실행됩니다.
문법
switch (expression) {
case value1:
// statements
break; // optional
case value2:
// statements
break;
// ...
default:
// statements
}
break문은switch‑case문을 종료합니다.break를 생략하면 실행이 다음 case로 넘어갑니다.
표현식에 허용되는 타입
byteshortintcharString(Java 7부터)
허용되지 않는 타입
longfloatdoubleboolean
기본 case
default case는 선택 사항입니다. 지정된 case 중 어느 것도 일치하지 않을 때 예상치 못한 값을 처리하는 데 사용됩니다.
예제
public class SwitchExample {
public static main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("Excellent!");
break;
case 'B':
case 'C':
System.out.println("Well done");
break;
case 'D':
System.out.println("You passed");
break;
case 'F':
System.out.println("Better try again");
break;
default:
System.out.println("Invalid grade");
}
}
}
Java 12 이상에서의 스위치 표현식 문법
Java 12에서는 스위치 표현식에 화살표(->) 문법을 도입했으며, 이를 통해 명시적인 break 문이 필요 없게 되었습니다.
예제 (Java 12)
int day = 1;
switch (day) {
case 1, 7 -> System.out.println("Weekend");
case 2, 3, 4, 5, 6 -> System.out.println("Weekday");
default -> System.out.println("Invalid day");
}