JAVA/JAVA기본
JAVA - (optional) Java 13, switch 연산자
realizers
2021. 12. 14. 20:56
728x90
반응형
기존의 switch
public class Example {
public static void main(String[] args) {
Example example = new Example();
example.switchExample(Day.TUE); // TUE Day
example.switchExample(Day.SUN); // SUN Day
}
void switchExample(Day day) {
switch (day) {
case MON:
System.out.println(Day.MON + " Day");
break;
case TUE:
System.out.println(Day.TUE + " Day");
break;
case SUN:
System.out.println(Day.SUN + " Day");
break;
}
}
enum Day {
MON, TUE, WED, THUR, FRI, SAT, SUN
}
}
Java 13. switch 연산자
- 화살표 연산자
- : 대신 -> 를 사용할 수 있습니다.
public class MyClass {
public static void main(String[] args) {
MyClass myclass = new MyClass();
myclass.switchExample(Day.TUE); // TUE Day
myclass.switchExample(Day.SUN); // SUN Day
}
void switchExample(Day day) {
switch (day) {
case MON, TUE -> System.out.println(Day.MON + " Day");
case SUN -> System.out.println(Day.SUN + " Day");
}
}
enum Day {
MON, TUE, WED, THUR, FRI, SAT, SUN
}
}
반환값 받기
public class MyClass {
public static void main(String[] args) {
MyClass myclass = new MyClass();
System.out.println(myclass.switchExample(Day.TUE)); // TUE Day
System.out.println(myclass.switchExample(Day.SUN)); // SUN Day
}
String switchExample(Day day) {
String result = switch (day) {
case MON, TUE, WED, THUR, FRI -> Day.TUE + " Day";
case SAT, SUN -> Day.SUN + " Day";
};
return result;
}
enum Day {
MON, TUE, WED, THUR, FRI, SAT, SUN
}
}
yield 사용
- yield 기능을 사용하여 값을 리턴할 수도 있습니다.
public class MyClass {
public static void main(String[] args) {
int a = 10;
int result = switch (a) {
case 0, 1 -> {
yield 1;
}
case 2 -> {
yield 2;
}
case 3, 4, 5 -> {
yield 3;
}
default -> {
yield -1;
}
};
System.out.println(result);
}
}
728x90
반응형