반응형
조건이 여러 개 일 때 간단히 표현
비교 조건이 특정 값이나 문자열인 경우 사용
break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
예시 코드
public class SwitchCaseTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
int day;
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
day = 31;
break;
case 2:
day = 28;
break;
case 4: case 6: case 9: case 11:
day =30;
break;
default:
System.out.println("존재하지 않는 달입니다.");
day = -1;
}
System.out.println(month + "월은 " +day + "일 입니다.") ;
}
}
자바 14부터 좀 더 간결해진 표현식이 지원 됨 ( break 사용하지 않음)
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
int day = switch(month) {
case 1, 3, 5, 7, 8, 10, 12 -> {
System.out.println("한 달은 31일 입니다.");
yield 31; // 반환
}
case 2 -> {
System.out.println("한 달은 28일 입니다.");
yield 28;
}
case 4, 6, 9, 11 ->
30;
default -> {
System.out.println("존재하지 않는 달입니다.");
yield 0;
}
};
System.out.println(month + "월은 " +day + "일 입니다.") ;
}
반응형
'개발 > Java' 카테고리의 다른 글
반복문 - for문 (0) | 2021.04.18 |
---|---|
반복문 - while문 (0) | 2021.04.18 |
조건문 - if문 (0) | 2021.04.18 |
자바의 연산자 (0) | 2021.04.18 |
상수와 리터럴, 변수의 형 변환 (0) | 2021.04.18 |