【问题标题】:Switch case logical expression statement in Java - versus JS or PHPJava 中的 switch case 逻辑表达式语句 - 与 JS 或 PHP
【发布时间】:2013-05-08 04:38:55
【问题描述】:

在 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 那样完成。

【问题讨论】:

  • 旁注:我不相信你可以在 JavaScript MDN 中写出这样的switch/case
  • @AlexeiLevenkov Switch/case 在 JavaScript 中完美运行。
  • @Tdorno 这太疯狂了……但你是绝对正确的……谢谢。

标签: java php javascript switch-statement expression


【解决方案1】:

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

请参阅此 link 了解更多详情。

【讨论】:

    【解决方案2】:

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

    switch 语句的主体称为 switch 块。

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-03-28
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多