스위치 표현식
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"
챌린지
쉬움getDayType이라는 이름의 메서드를 생성하세요. 이 메서드는 두 개의 인수를 받습니다:
- 요일(1-7)을 나타내는 정수형(
day) - 반환 형식을 결정하는 불리언형(
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));
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.