IT/Java
[Java] 조건문 - switch-case문 예제
hi.anna
2025. 3. 11. 06:09
[Java] 조건문 - switch-case문 예제
Java의 switch-case 문은 하나의 변수를 다양한 값과 비교할 때 사용하는 조건문입니다.
if-else 문보다 가독성이 좋습니다.
기본 구조
switch (변수) {
case 값1:
// 실행 코드
break;
case 값2:
// 실행 코드
break;
default:
// 위의 case와 일치하는 값이 없을 때 실행
}
- switch 키워드 뒤의 변수 값이 각 case의 값과 비교됩니다.
- 일치하는 case의 코드 블록이 실행됩니다.
- break를 사용하면 실행이 끝난 후 switch 문을 빠져나갑니다.
- default는 모든 case가 일치하지 않을 때 실행됩니다.
예제 1: 요일 출력
public class SwitchExample {
public static void main(String[] args) {
int day = 3; // 1: 월요일, 2: 화요일, 3: 수요일 …
switch (day) {
case 1:
System.out.println("월요일입니다.");
break;
case 2:
System.out.println("화요일입니다.");
break;
case 3:
System.out.println("수요일입니다.");
break;
case 4:
System.out.println("목요일입니다.");
break;
case 5:
System.out.println("금요일입니다.");
break;
default:
System.out.println("주말입니다.");
}
}
}
실행 결과:
수요일입니다.
- day 변수 값(3)에 따라 실행될 코드를 결정합니다.
- case 3:에 해당하는 "수요일입니다."가 출력됩니다.
- break가 없으면 다음 case도 실행되므로, 원하는 결과만 나오게 하려면 break를 꼭 넣어야 합니다.
- default는 모든 case가 일치하지 않을 때 실행됩니다.
예제 2: Java 12부터 사용 가능한 switch 표현식
Java 12부터 switch 문은 -> 연산자를 사용하여 더 간결한 표현이 가능해졌습니다.
public class SwitchExpressionExample {
public static void main(String[] args) {
int month = 5;
String season = switch (month) {
case 12, 1, 2 -> "겨울";
case 3, 4, 5 -> "봄";
case 6, 7, 8 -> "여름";
case 9, 10, 11 -> "가을";
default -> "잘못된 월";
};
System.out.println("현재 계절: " + season);
}
}
실행 결과:
현재 계절: 봄
- Java 12부터 switch 문에 -> 연산자를 사용할 수 있습니다.
- 이전 방식보다 break가 필요 없고, 가독성이 좋아졌습니다.
- case 3, 4, 5 -> "봄"; 처럼 여러 값을 한 줄에 처리할 수도 있습니다.
- month 값이 5이므로 "봄"이 season 변수에 저장됩니다.
예제 3: break 없이 여러 case 처리
public class SwitchWithoutBreak {
public static void main(String[] args) {
int score = 90;
switch (score / 10) {
case 10:
case 9:
System.out.println("A 학점");
break;
case 8:
System.out.println("B 학점");
break;
case 7:
System.out.println("C 학점");
break;
default:
System.out.println("F 학점");
}
}
}
실행 결과:
A 학점
- score / 10을 하면 90점은 9가 됩니다.
- case 10:과 case 9:는 동일한 실행 블록을 공유합니다.
정리
- switch-case 문은 가독성을 높이며 다중 조건을 쉽게 처리할 수 있습니다.
- break를 사용하지 않으면 다음 case로 실행이 넘어갑니다.
- Java 12부터는 -> 연산자로 더 간결하게 표현할 수 있습니다.
반응형