2

在 JavaScript 中,我也在 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 那样完成。

4

2 回答 2

3

拥有它很好,但你不能。引用 JLS:

switch 语句的主体称为 switch 块。

任何由 switch 块直接包含的语句都可以用一个或多个 switch 标签进行标记,它们是 case 或 default 标签。

这些标签被称为与 switch 语句相关联,与 case 标签中的常量表达式(第 15.28 节)或枚举常量(第 8.9.1 节)的值一样。

这些标签必须是constant expressions or enum constants.

于 2013-05-14T02:10:56.903 回答
2

不,你不能在 java 中使用 switch 来做到这一点。你必须使用if-else来完成这个。

有关更多详细信息,请参阅此link内容。

于 2013-05-14T02:10:21.730 回答