명확한 예제와 모범 사례로 Java switch 문이 프로그램 흐름을 어떻게 제어하는지 알아보세요.
switch 문은 표현식의 값에 따라 여러 대안 중 단일 코드 블록을 실행할 수 있게 합니다.
Java에서 switch 문의 구문은:
switch (expression) {
case value1:
// 코드
break;
case value2:
// 코드
break;
...
default:
// 기본 문장
}
switch-case 문은 어떻게 작동하나요?
expression은 한 번 평가되어 각 case의 값과 비교됩니다.
expression이 value1과 일치하면 case value1 안의 코드가 실행됩니다. 마찬가지로 value2와 일치하면 해당 블록이 실행됩니다.
일치하는 것이 없으면 default 블록이 실행됩니다.
참고: 기능적으로 if…else 래더와 유사하지만 switch는 더 깔끔하고 읽기 쉬운 구문을 제공합니다.
예제: Java switch 문
// 크기 확인을 위한 Java 프로그램
// switch...case 문 사용
class Main {
public static void main(String[] args) {
int number = 44;
String size;
// 크기 확인을 위한 switch 문
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
// 주 값 매칭
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
}
}
출력:
Size: Large
위 예제에서 변수 number는 각 case와 비교됩니다. number가 44와 같으면 case 44 블록이 실행되어 size에 Large가 할당됩니다.
여기서 size 변수는 Large 값을 받고 프로그램은 Size: Large를 출력합니다.
추천 읽기: Java switch 문을 사용한 간단한 계산기 만들기
switch 문 흐름도
Java switch…case에서 break 문
각 case 블록은 일반적으로 의도치 않은 fall-through를 방지하기 위해 break로 끝납니다.
...
case 29:
size = "Small";
break;
...
break가 없으면 일치 후에도 후속 case로 실행이 계속됩니다. 예:
class Main {
public static void main(String[] args) {
int expression = 2;
// 크기 확인을 위한 switch 문
switch (expression) {
case 1:
System.out.println("Case 1");
// 일치하는 case
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
출력
Case 2
Case 3
Default case
break가 생략되어 case 2 매칭 후 case 3과 default 블록도 실행되었습니다. 각 case 뒤에 break를 포함하면 일치하는 블록만 실행됨을 보장합니다.
class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// default case
default:
System.out.println("Unknown Size");
}
}
}
출력
Unknown Size
expression(9)이 어떤 case와도 일치하지 않으므로 default 블록이 실행되어 Unknown Size를 출력합니다.