java语法casewhen
时间: 2024-07-27 19:01:34 浏览: 61
java 面试20100
Java 8引入了一个新的条件表达式`switch`的改进版本,叫做`switch expression with when cases`,也称为`Pattern Matching`或`Case of`,它简化了传统`switch`语句的使用。这个特性允许开发者直接比较值,而不仅仅是枚举常量,也可以提供更复杂的匹配规则。
使用`case when`的基本语法如下:
```java
int result = value;
result = case when (value >= 0)
? value * 2 // 如果value大于等于0,则乘以2
: value / -2; // 否则除以-2
// 或者对于更复杂的匹配规则
result = case when (value == someValue) -> doSomething()
else if (value > someOtherValue) -> doSomethingElse();
default -> defaultAction();
```
在这个例子中,`value`会被依次检查每个`when`后面的条件,一旦满足其中一个,就执行相应的代码块并结束`case when`。如果没有条件匹配到,则会执行`else`或`default`部分(如果有)。
需要注意的是,并非所有Java数据类型都支持`case when`,如String、枚举等可以,但对于数值类型的范围判断通常更适合使用传统的`switch`语句。
阅读全文