switch(int和String类型的字面值或变量){
case int和String类型的字面值或变量:
java语句;
java语句;
...
break;
case int和String类型的字面值或变量:
java语句;
java语句;
...
break;
case int和String类型的字面值或变量:
java语句;
java语句;
...
break;
...
default :
java语句;
...
}
1、switch语句的执行原理:
switch后面小括号当中的数据和case后面的数据进行一一匹配,匹配成功的分支执行
自上而下
2、匹配成功的分支执行,分支当中最后有break语句的话,整个switch语句终止
3、匹配成功的分支执行,分支中没有break语句的话,直接进入下一个分支执行(不进行匹配)
这种现象被称为case穿透现象。【提供break语句可以避免穿透】
4、没匹配上执行default分支
5、switch和case后面只能是int或者String类型的后面
当然byte,short,char可以直接写到switch,case后,因为他们可以i进行自动转换成int
(现在好像也可以传枚举中的变量,不过不建议使用)
6、case可以合并
int i = (int=1 2 3 都会执行下面的语句)
switch(i){
case 1 : case 2 : case 3 :
System.out.println("Test code!");
}