[default的位置和省略]
1.位置:default不一定卸载最下面,可以写在任何位置,但习惯写在最后
2.省略:default可以省略不写,语法上没有问题,但不建议
[case穿透]
1.break省略就会导致case穿透
2.如果没有发现break,那么就会继续执行下一个语句体,直到遇到break或者右大括号为止。
int number=10;
switch (number){
case 1:
System.out.println("number的值为1");
break;
case 10:
System.out.println("number的值为10");
//break;
case 20:
System.out.println("number的值为20");
break;
default:
System.out.println("number的值不是1,10或20");
//break;
}
控制台显示:
number的值为10
number的值为20
[switch新特性](JDK12)
int number=10;
switch (number){
case 1->{
System.out.println("number的值为1");
}
case 10->{
System.out.println("number的值为10");
}
case 20->{
System.out.println("number的值为20");
}
default ->{
System.out.println("number的值不是1,10或20");
}
}
若语句体只有一行代码,还可以简化成:
int number=10;
switch (number){
case 1 -> System.out.println("number的值为1");
case 10 ->System.out.println("number的值为10");
case 20 ->System.out.println("number的值为20");
default ->System.out.println("number的值不是1,10或20");
}
[if和switch第三种格式各自的使用场景]
1.if的第三种格式:一般用于对范围的判断
2.switch:把有限个数据一一列举出来,让我们任选其一