use*_*erS 2 java switch-statement
是否有一种替代方法可以在每种情况下都跳过“中断”,而只是暗示当发现具有相同值的个案刚刚中断时。
int w=3;
switch (w)
{
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3p");
break;
case 4:
System.out.println("4");
break;
default:
System.out.println("csd");
break;
}
Run Code Online (Sandbox Code Playgroud)
不,break不是可选的,除非您想使用下一个case标签。(好吧,除非您return或throw来自case。)但请继续阅读...
如果你想避免写breakS,你可以使用if/ else if/ else结构,而不是:
if (w == 1) {
System.out.println("1");
} else if (w == 2) {
System.out.println("2");
} else if (w == 3) {
System.out.println("3p");
} else if (w == 4) {
System.out.println("4");
} else {
System.out.println("csd");
}
Run Code Online (Sandbox Code Playgroud)
但是:一旦支持JEP 325 JEP 354,您将可以改为使用switch 表达式:
switch (w) {
case 1 -> System.out.println("1");
case 2 -> System.out.println("2");
case 3 -> System.out.println("3p");
case 4 -> System.out.println("4");
default -> System.out.println("csd");
}
Run Code Online (Sandbox Code Playgroud)
JEP 325是JDK 12.0.2中的预览功能,而JEP 354(对其稍有更新)是JDK 13中的预览功能。您可以像这样使用它来编译代码:
javac --enable-preview --release 13 Example.java
并像这样运行它:
java --enable-preview --release 13示例
对JEP 325使用版本13,对JEP 354使用版本14。
除上述用法外,switch表达式的有趣之处在于它们是产生值的表达式。有关详细信息,请参见JEP。
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |