Java 12 中的 Switch Case

2024 年 9 月 10 日 | 阅读 3 分钟

Java 中的 switch case 在最近的 Java 版本中进行了一些修改,增加了新功能。在本教程中,我们将讨论 Java 12 中的 switch case。不过,在此之前,让我们来看一个展示传统 switch case 实现的例子。

文件名: TraditionalSwitch.java

输出

The day is not valid.
Days of Weekday.
Days of Weekend.

使用 Java 12 的 Switch Case

在 Java 12 中,switch case 进行了以下修改:

  • 一个 case 可以有多个标签。
  • 即使没有 break 语句,也不会发生贯穿(fallthrough),这在传统的 switch 表达式中是不可能的。我们可以通过 break value 返回值。
  • 我们也可以使用箭头返回一个值。

使用多个标签

文件名: LatestSwitchExpression.java

输出

Eleven or Twelve
Thirteen or Fourteen
The number is invalid.
Fifteen or Seventeen or Nineteen
The number is invalid.

通过箭头返回数值

我们也可以在 switch 表达式中使用箭头 (->)。在这种情况下,不需要 break 语句来防止贯穿。在以下情况下不会发生贯穿。

文件名: LatestSwitchExpression1.java

输出

Eleven or Twelve
Thirteen or Fourteen
The number is invalid.
Fifteen or Seventeen or Nineteen
The number is invalid.

通过 break 返回数值

现在 switch 可以被视为一个表达式,也称为 value breaks。在 break 关键字之后,我们可以放置一个值。请观察以下示例。

文件名: LatestSwitchExpression2.java

输出

Eleven or Twelve
Thirteen or Fourteen
The number is invalid.
Fifteen or Seventeen or Nineteen
The number is invalid.

注意:上述程序使用我们编译包含传统 switch 表达式的程序的方法将无法编译。对于编译过程,请使用以下命令。

javac --enable-preview --release 12 filename.java

编译过程完成后,使用以下命令运行程序。

java --enable-preview filename

下一个主题Java 中的猪游戏