switch语句的格式
int x = 10;
switch(表达式) { //基本数据类型可以接收byte,short,char,int
case 值1: //引用数据类型可以接收枚举(JDK1.5)String字符串(JDK1.7)
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
面试题
- byte可以作为switch的表达式吗?
- long可以作为switch的表达式吗?
- String可以作为switch的表达式吗?
答:可以;不可以;可以
执行流程
- 先计算表达式的值
- 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
注:
- switch ()括号里面只接受表达式(根据我的理解应该是变量表达式),char,shaort,int, byte,字符串,还有引用的枚举类型
- case后接具体的值(char,shaort,int, byte,字符串,还有引用的枚举类型)
对于default:
1.default的位置可以随意放置,建议放在最后
2.default是最后执行的位置,如果default放在case前,且default语句无break语句,那么default语句执行后,后接的case语句也要执行;如果case语句后不接break语句,会造成case击穿,default语句同样会被执行