on
JAVA - (optional) Java 13, switch 연산자
JAVA - (optional) Java 13, switch 연산자
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
from http://kdg-is.tistory.com/225 by ccl(A) rewrite - 2021-12-14 21:01:22