break
после переключателя case
s используется, чтобы избежать падения в выражениях переключателя. Хотя интересно, что теперь это может быть достигнуто с помощью вновь сформированных меток переключателей, реализованных с помощью JEP-325 .
С этими изменениями можно избежать break
с каждым переключателем case
, как показано далее: -
public class SwitchExpressionsNoFallThrough {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int value = scanner.nextInt();
/*
* Before JEP-325
*/
switch (value) {
case 1:
System.out.println("one");
case 2:
System.out.println("two");
default:
System.out.println("many");
}
/*
* After JEP-325
*/
switch (value) {
case 1 ->System.out.println("one");
case 2 ->System.out.println("two");
default ->System.out.println("many");
}
}
}
При , выполняющем вышеуказанный код с JDK-12 , сравнительный вывод можно рассматривать как
//input
1
// output from the implementation before JEP-325
one
two
many
// output from the implementation after JEP-325
one
и
//input
2
// output from the implementation before JEP-325
two
many
// output from the implementation after JEP-325
two
и, конечно, вещь без изменений
// input
3
many // default case match
many // branches to 'default' as well