개발자 도전기
[코딩공부] switch문, switch expression 본문
switch문은 입력 변수값과 case 값이 일치할 때 실행되는 조건문이다. if문보다 사용범위는 제한적이지만 값에 따라 출력되는 내용이 다양할 때 사용하면 좋다.
switch문은 다음과 같이 사용할 수 있다.
switch ("서울") { // 값이 "서울"
case "서울":
System.out.println("statement 2");
break;
// 값이 "제주"
case "제주":
System.out.println("statement 3");
break;
// 값이 "부산"
case "부산":
System.out.println("statement 4");
break;
}
변수에 맞는 case를 만나면 해당 코드를 실행하고 break를 통해 switch문을 빠져나간다.
만약 break를 사용하지 않는다면 그 다음의 case 문에 속한 문장들이 실행된다.
// 결과 : statement 2
// statement 3
// statement 4
switch ("서울") {
case "서울":
System.out.println("statement 2");
case "제주":
System.out.println("statement 3");
case "부산":
System.out.println("statement 4");
}
이렇게 break를 사용하는 것이 불편하기 때문에 자바 12부터는 switch expression을 지원한다.
switch expression에서는 break를 생략할 수 있다.
// switch expression
int value = 1;
switch (value) {
case 1 -> System.out.println("statement 1");
case 2 -> System.out.println("statement 2");
case 3 -> {
// 여러 명령문이 존재하면 {} 괄호 사용
System.out.println("statement 3");
System.out.println("statement 4");
}
case 5 -> System.out.println("statement 5");
}
또, 자바 13부터는 yield의 사용이 추가되었다.
// yield
int length = 5;
String shape = "원"; // 원, 정사각형
double result = switch (shape) {
case "원" -> {
double calc = 3.14 * length * length;
yield calc; // result에 calc 대입
}
case "정사각형" -> length * length;
default -> 0.0;
};
'개발공부 > JAVA' 카테고리의 다른 글
[JAVA] break 문 / continue 문 (0) | 2024.02.26 |
---|---|
[Java] do- while 문 (0) | 2024.02.26 |
[JAVA] 상속과 생성자 - super (생활코딩 공부 기록) (0) | 2024.01.31 |
[JAVA] 상속 (생활코딩 공부 기록) (0) | 2024.01.31 |
[JAVA] 생성자 (생활코딩 공부 기록) (0) | 2024.01.30 |