java中switch case的箭头用法
时间: 2023-10-06 18:10:22 浏览: 77
switch case 中的箭头用法是用来表示每个 case 的执行语句的开始位置,如下所示:
```
switch (variable) {
case value1 -> System.out.println("Value 1");
case value2 -> System.out.println("Value 2");
default -> System.out.println("Default Value");
}
```
在 Java 14 中才引入了箭头语法以简化 switch case 语句的编写。
相关问题
java17 switch用法
Java 17 中的 switch 语句可以用于多种情况,包括:
1. 基本数据类型的比较,如 int、char、byte、short 等。
2. 枚举类型的比较。
3. 字符串类型的比较。
4. 支持多个 case 分支执行同一段代码。
5. 支持 switch 表达式,可以在 case 分支中使用表达式。
6. 支持用 yield 返回值,可以在 case 分支中返回值。
7. 支持使用箭头函数。
下面是 switch 语句的示例:
```java
public class SwitchExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Invalid day");
break;
}
}
}
```
此外,Java 17 还添加了一种新的 switch 语句形式,称为“带有模式的 switch 语句”,它支持在 case 分支中使用模式匹配。这个新特性可以简化代码、提高可读性。下面是示例:
```java
public class SwitchExample {
public static void main(String[] args) {
Object obj = "Hello World";
switch (obj) {
case String s && s.length() > 5:
System.out.println("String with length greater than 5: " + s);
break;
case String s:
System.out.println("String: " + s);
break;
case Integer i && i > 0:
System.out.println("Positive integer: " + i);
break;
case Integer i:
System.out.println("Integer: " + i);
break;
case null:
System.out.println("null");
break;
default:
System.out.println("Unexpected object: " + obj);
break;
}
}
}
```
上面的示例中,我们使用了模式匹配来判断对象的类型,并分别处理不同的情况。这样可以在一定程度上避免类型转换和 instanceof 的使用。
javaswitch语句用法
Java中的switch语句用于根据一个表达式的值来选择执行的代码块。它可以替代多个if-else语句,使代码更加简洁和可读。
下面是switch语句的基本用法示例:
```java
switch (expression) {
case value1:
// 当expression的值等于value1时执行的代码
break;
case value2:
// 当expression的值等于value2时执行的代码
break;
case value3:
// 当expression的值等于value3时执行的代码
break;
// 可以继续添加更多的case语句
default:
// 当expression的值与之前的case都不匹配时执行的代码
break;
}
```
在switch语句中,expression是一个表达式,可以是整数、字符、枚举类型或字符串(Java 7+)。每个case后面跟着一个常量值,表示当expression等于这个值时执行对应的代码块。default用于处理当expression的值与之前的case都不匹配时执行的代码。
需要注意的是,每个case后面都要以break语句结束,否则会继续执行下一个case中的代码。如果没有匹配的case,并且没有default语句,那么switch语句将不执行任何代码。
另外,从Java 12开始,还支持使用箭头运算符(->)来简化switch语句的写法。例如:
```java
switch (expression) {
case value1 -> System.out.println("Value 1");
case value2 -> System.out.println("Value 2");
case value3 -> System.out.println("Value 3");
default -> System.out.println("Default value");
}
```
这种写法更加简洁,但需要注意每个case后面的代码只能是一行,否则需要使用花括号括起来。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)