switch 문

발행: (2026년 2월 7일 오후 06:44 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

Overview

  • switch case는 변수나 식의 값에 따라 서로 다른 코드 블록을 실행할 수 있게 해 주는 제어문입니다.
  • 많은 if–else 문을 쓰는 것보다 더 깔끔하고 읽기 쉬운 경우가 많습니다.
  • Java에서는 switch 문이 원시 타입 int, byte, short, char와, Java 8부터는 String과도 사용할 수 있습니다.
  • Java 12부터는 화살표 구문(->)을 사용해 break 대신 더 간결하게 표현할 수 있습니다.

Syntax

switch (expression) {
    case value1:
        // statements
        break;               // stops fall‑through
    case value2 ->          // arrow syntax (Java 12+)
        // statements
    default:
        // default statements
}
  • **break;**는 매치된 case 블록이 실행된 후 흐름을 멈춥니다.
  • **화살표 구문 (->)**은 자동으로 fall‑through를 방지하므로 명시적인 break가 필요하지 않습니다.

Example 1 – Switching on an int

public class SwitchCaseExample {
    public static void main(String[] args) {
        int day = 5;   // can be int, byte, short, or char

        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;
            default:
                System.out.println("Holiday");
        }
    }
}

Example 2 – Switching on a String (Java 8+)

package moduleTwo;

public class SwitchCaseTest {
    public static void main(String[] args) {
        String say = "hello";

        switch (say) {
            case "hi":
                System.out.println("hey");
                break;
            case "hello":
                System.out.println("Good morning");
                break;
            default:
                System.out.println("unknown");
        }
    }
}

Example 3 – Multiple Labels and Arrow Syntax (Java 12+)

public class SwitchCaseTest {
    public static void main(String[] args) {
        String grade = "B";

        switch (grade) {
            case "A", "B" -> System.out.println("pass");
            case "C"       -> System.out.println("fail");
            default        -> System.out.println("no result");
        }
    }
}
Back to Blog

관련 글

더 보기 »

모의 인터뷰-2

인터뷰 질문 1. 자기소개를 해주세요? 2. 왜 Mechanical Engineering에서 IT로 전향했나요? 3. Mechanical Engineering이 첫 번째 선택이었다면, 왜 ...를 선택했나요?

Java의 클래스::

클래스 정의: class는 object를 생성하기 위해 사용되는 blueprint 또는 template이다. 그것은 생성된 object가 가지는 property, variable, 그리고 behavior(method)를 정의한다.