我也在PHP中看过它:你可以在你的案例中使用逻辑表达式: 例如:
switch(true){
case (d<10):
document.write("Less than 10");
break;
case (d==10):
document.write("Equal to 10");
break;
case (d>10):
document.write("Greater than 10");
break;
default:
document.write("Some dumb error. Probably not a number.");
}
我想知道我们是否可以用Java做到这一点...说我需要比较一个非常大的范围。
case 1 :
case 2 :
...
case 5000:
case 5001:
default:
这样做会很乏味。我可以在if语句中包含我的案例,但我想知道它可以像在JavaScript或PHP中那样完成。
答案 0 :(得分:2)
否你不能在java中使用switch。您必须使用if-else
来完成此任务。
有关详细信息,请参阅此 link 。
答案 1 :(得分:2)
很高兴有,但你不能。引用JLS:
switch语句的主体称为switch block。
交换机块中立即包含的任何语句都可能标有一个或多个开关标签,即大小写或默认标签。
这些标签被称为与switch语句相关联,case标签中的常量表达式(§15.28)或枚举常量(§8.9.1)的值也是如此。
这些标签必须为constant expressions or enum constants
。