介绍
1.switch关键字,表示swtich分支;
2.表达式对应一个值;
3.case常量1:当表达式的值等于常量1,就执行语句块1;
4.break:表示退出swtich;
5.如果和case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配case常量2
6.如果一个都没有匹配上,执行default。
- 基本语法
Switch(表达式){
case常量1:
语句块1;
case常量2:
语句块2;
break;
..........
case 常量n:
语句块n;
break;
default:
default语句块;
break;
}
switch流程图
注意:如果语句块后无break则会继续执行下一个语句块且不会进行常量的判断。
例:
此时由于每行case后都没有break所以导致每个语句块都被执行
在每个语句块后加上break后则程序只会执行符合的语句块并跳出循环。
- Switch细节讨论
1.表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int;
2.Switch(表达式)中表达式的返回值必须是:(byte、short、int、char、enum、String)
例:
double c= 1.1;
switch(c){ //错误返回值为不可以为double
case 1.1: //错误
System.out.println("ok3");
break;
}
3.case子句中的值必须是常量,而不能是变量;
4.default子句是可选的,当没有匹配的case是,执行default;
5.break语句用来在执行完一个case分支后使程序跳出Switch语句块;如果没有写break,程序会顺序执行到Switch结尾。