728x90
1. 기존의 switch 문
switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:
System.out.println(6);
break;
case TUESDAY:
System.out.println(7);
break;
case THURSDAY:
case SATURDAY:
System.out.println(8);
break;
case WEDNESDAY:
System.out.println(9);
break;
}
2. 개선된 swtich 문
switch (day) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
case TUESDAY -> System.out.println(7);
case THURSDAY, SATURDAY -> System.out.println(8);
case WEDNESDAY -> System.out.println(9);
}
- 다중 case 사용 O (case를 ,로 구분하여 쓸 수 O)
- 화살표 case 라벨(->)을 사용하면 마지막에 break를 사용한 것과 동일
- 화살표 case 라벨(->)을 사용할 때 실행문이 2줄 이상일 때는 중괄호 필수(1줄일 때만 중괄호 생략O)
3. 개선된 swtich 문2
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};
- 화살표 case 라벨(->) 뒤에 있는 값을 return하여 바로 대입O
- 화살표 case 라벨(->) 뒤에 있는 값이 void type이면 에러가 발생
4. 개선된 swtich 문3
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> {
System.out.print("Six ");
yield 6;
}
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};
- 중괄호 안에서만 yield 예약어 사용O
[참고] https://congcoding.tistory.com/73
728x90
'Java > Java 학습' 카테고리의 다른 글
[JAVA] isEqualTo() vs isSameAs() vs isInstanceOf() 비교 (0) | 2022.05.17 |
---|---|
[JAVA] 성공 테스트 & 실패 테스트 (0) | 2022.05.16 |
[JAVA] 예외 테스트 (jUnit5의 assertThrows) (0) | 2022.04.28 |
[JAVA] JUnit5 기본 테스트 어노테이션(@Test, BeforeAll, @BeforeEach, @AfterAll, @AfterEach, @Disabled) (0) | 2022.04.28 |
[JAVA] UnitTest에서 사용하는 AssertJ의 AssertThat이란? (1) | 2022.04.28 |