时间:2021-05-19
问题:
break在for循环、while循环等循环流程控制中起的作用是停止执行break后面的语句,跳出本次循环,并跳出该循环控制体;
在switch条件选择中,没有了循环控制,break又起什么作用呢?
解决办法:
1. switch语句的执行流程是:
首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,
若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇到break语句就退出switch语句,程序流程转向开关语句的下一个语句;
若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出switch语句,程序流程转向开关语句的下一个语句。
在switch-case语句中,多个case可以共用一条执行语句,如:
case 常量表达式1:
case 常量表达式2:
case 常量表达式3:
语句;
break;
由此可以看出case语句的作用:
case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”。
因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行;
而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才停止执行,退出switch语句。
因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句。
2. 从上面的描述可以看出,switch条件选择语句中的break的作用跟循环控制语句中的作用基本相同:
都是不执行break之后的语句,并结束退出switch语句;
3. 与循环控制中存在continue语句不同的是,switch条件选择语句中没有continue语句;
ok问题解决。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Swift提供了所有C语言中相似的控制流结构。包括for和while循环;if和switch条件语句;break和continue跳转语句等。Swift还加入了
java中的switchcase语句switch-case语句格式如下:switch(变量){case变量值1://;break;case变量值2://...;
Swift中的switch...case语句可以判断对象类型,Objective-C中则必须是整数。不可以穿透,可以不写break,?1234567891011
java中switchcase语句需要加入break的原因解析java中使用switchcase语句需要加入break做了具体的实例分析,及编译源码,在源码中分
switch语句结构switch(表达式){case判断值1;语句组1;break;case判断值2;语句组2;break;case判断值3;语句组3;brea