728x90
switch - case 문
- if - esle if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현
- 비교 조건이 특정 값이나 문자열인 경우 사용
- break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
- 자바 14부터 좀 더 간결해진 표현식이 지원 됨 (break 사용하지 않음)
한 달이 며칠인지 알려주는 프로그램 구현
package ch16;
public class SwitchCaseTest {
public static void main(String[] args) {
int month = 10;
int day;
switch(month){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
day = 31;
break;
case 4; case 6; case 9; case 11;
day = 30;
break;
case 2;
day = 28;
break;
default:
day = 0;
System.out.println("존재하지 않는 달입니다.");
}
System.out.println(month + "월은" + day + "일입니다.");
}
}
문자열 지원되는 switch - case 문
package ch16;
public class SwitchCaseTest2 {
public static void main(String[] args) {
String medal = "Gold";
switch(medal) {
case "Gold":
System.out.println("금메달 입니다.");
break;
case "Silver":
System.out.println("은메달 입니다.");
break;
case "Bronze":
System.out.println("동메달 입니다.");
break;
default:
System.out.println("메달이 없습니다.");
break;
}
}
}
Java 14 부터 지원 되는 Switch Expression
- 간단하게 쉼표(,)로 조건 구분
- 식으로 표현 하여 반환 값을 받을 수 있음. 리턴 값이 없는 경우는 오류가 생김
- yield 키워드 사용
package ch16; public class SwitchCaseUpTest { public static void main(String[] args) { int month = 3; int day = switch (month) { case 1, 3, 5, 7, 8, 10, 12 -> { System.out.println("한 달은 31일 입니다."); yield 31; } case 4, 6, 9, 11 -> { System.out.println("한 달은 30일 입니다."); yield 30; } case 2 ->{ System.out.println("존재하지 않는 달 입니다."); yield 0; } }; System.out.println(month + "월은 " + day + "일입니다."); } }
728x90
'Be Smart > JAVA' 카테고리의 다른 글
[Java]19. 반복문 - for 문 (0) | 2021.08.09 |
---|---|
[Java] 17. 반복문 - while문 (0) | 2021.08.09 |
[Java] 15. 조건이 여러 개 일 때의 if 문 (0) | 2021.08.09 |
[Java] 14. 조건문 - if 문(만약에... 라면) (0) | 2021.08.09 |
[Java] 13. 자바의 연산자들 -3 (조건 연산자, 비트 연산자) (0) | 2021.08.06 |
댓글