Menu
Coddy logo textTech

스위치 표현식

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 36번째.

switch 표현식은 switch 문을 더 간결하게 작성하고 값을 직접 반환할 수 있게 해주는 기능입니다. 어떻게 작동하는지 보겠습니다.

값을 반환하는 기본 switch 표현식을 생성하세요:

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

위의 코드를 실행한 후, message 변수에는 다음이 포함됩니다:

"One"

여러 경우를 함께 처리할 수도 있습니다:

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

위의 코드를 실행한 후, type 변수에는 다음이 포함됩니다:

"Weekday"

challenge icon

챌린지

쉬움

getDayType이라는 이름의 메서드를 생성하세요. 이 메서드는 두 개의 인수를 받습니다:

  1. 요일(1-7)을 나타내는 정수형(day)
  2. 반환 형식을 결정하는 불리언형(abbreviated)

이 메서드는 switch 표현식을 사용하여 요일 유형을 반환해야 합니다:

  • 1-5일(월요일부터 금요일): 축약되지 않으면 "WORKDAY", 축약되면 "WKD"를 반환
  • 6-7일(토요일과 일요일): 축약되지 않으면 "WEEKEND", 축약되면 "WKND"를 반환
  • 기타 숫자: 축약되지 않으면 "INVALID", 축약되면 "INV"를 반환

치트 시트

Switch 표현식은 화살표 구문(->)을 사용하여 값을 직접 반환하는 간결한 switch 문을 작성할 수 있게 합니다:

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

여러 case를 쉼표로 구분하여 함께 처리할 수 있습니다:

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

직접 해보기

import java.util.Scanner;

public class Main {
    public static String getDayType(int day, boolean abbreviated) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int day = Integer.parseInt(scanner.nextLine());
        boolean abbreviated = Boolean.parseBoolean(scanner.nextLine());
        
        System.out.println(getDayType(day, abbreviated));
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨