조건문 중에 switch 문이라는 것이 존재한다. switch 문을 통해 케이스 별로 원하는 값을 반환시킬 수 있다.
//기본 형식
switch(key) {
case value : {
returnValue;
break;
}
}
//변형된 형식
switch (key) {
case value:case value:case value:{
returnValue;
break;
}
}
//자바 14부터 지원하는 형식
switch (key) {
case value1, value2, value3... -> returnValue;
case value1, value2, value3... -> {
//yield는 {} 안에서만 사용이 가능하다.
yield = returnValue;
}
}
//기본 형식
package ch16;
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
int day;
switch (month) {
case 1: {
day = 31;
break;
}
case 2: {
day = 28;
break;
}
case 3: {
day = 31;
break;
}
case 4: {
day = 30;
break;
...
...
...
default:
System.out.println("존재하지 않는 달입니다.");
day = -1;
}
System.out.println(month + "월은 " + day + "일 입니다.");
}
}
//자바 14부터 지원하는 형식
package ch16;
import java.util.Scanner;
public class SwitchTest {
// 자바 14부터 지원함.
// yield 키워드는 항상 Switch 블록 내부에서만 사용된다.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
int day = switch (month) {
case 1, 3, 5, 7, 8, 10, 12 -> 31;
case 2 -> 28;
case 4, 6, 9, 11 -> 30;
default -> {
System.out.println("존재하지 않는 달입니다.");
yield -1;
}
};
System.out.println(month + "월은" + day + "일 입니다.");
}
}
[Java] 객체지향 (0) | 2022.04.03 |
---|---|
[Java] 반복문 (0) | 2022.04.03 |
[Java] 자바의 연산자들 (0) | 2022.04.01 |
[Java] 상수, 리터럴, 형 변환 (0) | 2022.04.01 |
[Java] 데이터 타입 (0) | 2022.03.31 |