Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

4.3 switch 문 - Expression 표현식, yield 본문

이것이 자바다/04 조건문과 반복문

4.3 switch 문 - Expression 표현식, yield

빌드이너프 2024. 3. 29. 14:17

Java 12 이후부터 switch 문에서 Expression(표현식)을 사용할 수 있다

break 문을 없애는 대신 화살표와 중괄호를 사용해 가독성이 좋아졌다

 

예제

package ch04.sec03;

public class SwitchExpressionsExample {
	public static void main(String[] args) {
		char grade = 'B';
		
		switch(grade) {
			case 'A', 'a' -> {
				System.out.println("우수 회원");
			}
			case 'B', 'b' -> {
				System.out.println("일반 회원");
			}
			default -> {
				System.out.println("손님");
			}
		}
		
	}
}
일반 회원

 

 

Switch Expressions을 사용하면 스위치된 값에 변수를 바로 대입 가능

단일 값일 경우 화살표 오른쪽에 값을 기술

중괄호를 사용할 경우 yield(Java 13부터 사용) 키워드로 값을 지정, 이 경우 default가 존재해야 함

package ch04.sec03;

public class SwitchValueExample {
	public static void main(String[] args) {
		String grade = "B";
		
		// Java 11 이전
		int score1 = 0;
		switch(grade) {
			case "A":
				score1 = 100;
				break;
			case "B":
				int result = 100 - 20;
				score1 = result;
				break;
			default:
				score1 = 60;
		}
		System.out.println("score1: " + score1);
		
		// Java 12부터 가능
		int score2 = switch(grade) {
			case "A" -> 100;
			case "B" -> {
				int result = 100 - 20;
				// Java 13부터 가능
				yield result;
			}
			default -> 60;
		};
		System.out.println("score2: " + score2);
		
	}
}
score1: 80
score2: 80

'이것이 자바다 > 04 조건문과 반복문' 카테고리의 다른 글

4.7 break 문 - 중접된 반복문  (0) 2024.03.29
4.4 for 문 - 주의 사항  (0) 2024.03.29
4.3 switch 문  (0) 2024.03.29
이것이 자바다 4장 확인 문제  (1) 2024.01.31