어제 오늘 내일

[Java] 조건문 - switch-case문 예제 본문

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부터는 -> 연산자로 더 간결하게 표현할 수 있습니다.

 

 

 

 

반응형
Comments