스위치 케이스

발행: (2026년 2월 4일 오후 01:37 GMT+9)
2 min read
원문: Dev.to

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로 넘어갑니다.

표현식에 허용되는 타입

  • byte
  • short
  • int
  • char
  • String (Java 7부터)

허용되지 않는 타입

  • long
  • float
  • double
  • boolean

기본 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");
}
Back to Blog

관련 글

더 보기 »

연산자

Java에서 연산자란 무엇인가요? 연산자는 변수와 값에 대한 연산을 수행하는 기호입니다. Java에서 연산자의 종류 - Arithmetic Operators - Assignment Operators …

Java 소개

!소개용 Java 커버 이미지https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s...

Java 노트

터미널에서 Java 실행하기 ```bash javac App.java && java App ``` `javac`는 Java 소스 파일 `App.java`를 바이트코드 `App.class`로 컴파일합니다. `&&` 연산자는 첫 번째 명령이 성공적으로 실행된 경우에만 두 번째 명령을 실행합니다.