jdk7和jdk8中switch区别
时间: 2023-10-16 14:06:50 浏览: 136
在 JDK 7 中,switch 语句只能支持整数、枚举和字符串类型,而在 JDK 8 中,switch 语句还可以支持表达式(如整数、枚举和字符串类型的表达式)以及变量(如字节、短整数、字符和布尔类型的变量)。此外,JDK 8 还支持使用 lambda 表达式在 case 语句中编写代码块。
在 JDK 7 中,switch 语句只能使用常量表达式(如 final int x = 1;),而在 JDK 8 中,switch 语句还可以使用常量表达式(如 final int x = 1;)和枚举常量。
在 JDK 7 中,switch 语句中的 case 标签不能重复,而在 JDK 8 中,case 标签可以重复。
在 JDK 7 中,switch 语句只能在块级别中使用,而在 JDK 8 中,switch 语句可以在表达式级别中使用。
相关问题
jdk8 switch
在 JDK 8 中,switch 语句的语法得到了改进,支持更加灵活的用法。
传统的 switch 语句只能使用 int、byte、short、char、enum 作为判断条件,而在 JDK 8 中,switch 语句可以使用字符串作为判断条件。
使用字符串作为判断条件的 switch 语句语法如下:
```
String fruit = "apple";
switch (fruit) {
case "apple":
System.out.println("Selected fruit is apple");
break;
case "banana":
System.out.println("Selected fruit is banana");
break;
case "orange":
System.out.println("Selected fruit is orange");
break;
default:
System.out.println("Selected fruit is not in list");
}
```
此外,JDK 8 中的 switch 语句也支持使用 Lambda 表达式作为 case 表达式,如下所示:
```
int num = 2;
switch(num) {
case 1 -> System.out.println("Selected number is 1");
case 2 -> System.out.println("Selected number is 2");
case 3 -> System.out.println("Selected number is 3");
default -> System.out.println("Selected number is not in list");
}
```
这种写法可以使代码更加简洁和易读。
jdk8的switch
在Java 8中,switch语句得到了一些改进。除了支持整数和字符类型的判断外,它还可以支持字符串类型的判断。下面是一个使用Java 8中的switch语句的示例:
```java
public class SwitchExample {
public static void main(String[] args) {
String day = "Monday";
switch (day) {
case "Monday":
System.out.println("Today is Monday");
break;
case "Tuesday":
System.out.println("Today is Tuesday");
break;
case "Wednesday":
System.out.println("Today is Wednesday");
break;
case "Thursday":
System.out.println("Today is Thursday");
break;
case "Friday":
System.out.println("Today is Friday");
break;
default:
System.out.println("Today is a weekend day");
break;
}
}
}
```
这个示例中,我们使用了字符串类型的变量`day`作为switch语句的判断条件。根据`day`的值,程序会输出相应的结果。在这个例子中,输出结果为"Today is Monday"。
需要注意的是,在Java 8之前的版本中,switch语句只支持整数和字符类型的判断。而在Java 8中,我们可以使用字符串类型作为判断条件,这样可以使代码更加简洁和易读。
阅读全文