根据switch(表达式)计算的结果,跳转到对应的case,然后继续执行后续语句,直到遇到break(没有break会将继续执行后面的语句)。
当没有对应的case结果,switch语句不会执行任何语句。可以设置default来默认执行。
switch
switch (option) {
case 1:
...
break;
case 2:
case 3://满足2、3均执行
...
break;
default:
...
break;
}
新语句 “->”
switch (option) {
case 1->...;
case 2,3->...;//满足2、3均执行
default->...;
}
直接返回值
public class Main {
public static void main(String[] args) {
String fruit = "apple";
int opt = switch (fruit) {
case "apple" -> 1;
case "pear", "mango" -> 2;
default -> 0;
}; // 注意赋值语句要以;结束
System.out.println("opt = " + opt);
}
}
yield返回值
public class Main {
public static void main(String[] args) {
String fruit = "orange";
int opt = switch (fruit) {
case "apple" -> 1;
case "pear", "mango" -> 2;
default -> {
int code = fruit.hashCode();
yield code; // switch语句返回值
}
};
System.out.println("opt = " + opt);
}
}