、格式如下
switch(表达式){
case 字面值1:
代码块A;
break;
case 字面值2:
代码块B;
break;
…
default:
代码块X;
break;
}
switch关键字表示“开关”,当表达式与case后的字面值相等时,开关被打开,匹配的case以后的代码会被执行。尤其需要注意的是,这个表达式的值只允许是byte、short、int和char类型(在JDK
7.0中表达式的值可以是String类型)。
case后必须要跟一个与表达式类型对应的常量,case可以有多个,且顺序可以改变,但是每个case后面的常量值必须不同。当表达式的实际值与case后的常量相等时,其后的代码块就会执行。
default表示当表达式的实际值没有匹配到前面对应的任何case常量,default后面的默认代码块会被执行,default通常放在末尾。
break表示跳出当前结构,必须注意:如果没有break,”开关打开”后,随后每一个case中的语句都会被执行,直到结构最末或者遇到break。
总结:
在功能上,if能够实现switch的任何实现,但是在相同功能场景下,switch要比if速度更快。
switch仅能适应等值判断,在必要时可以把区间判断转换为等值关系判断,如果不能转换还是老实用if-else语法。
return关键字为退出当前方法语句,而break是退出特定结构。两者控制的范围不同。狭义理解,return
本文详细解析了switch语句的工作原理及其使用要点,包括case、default及break关键字的作用,并对比了switch与if语句的区别。
4万+

被折叠的 条评论
为什么被折叠?



