SWITCH语句中如果执行了一条CASE语句是空的后如果没有BREAK会不会执行DEFAULT语句(其他CASE也没BREAK)2020928亲自测试

会执bai行,如果case后面没有break;就会du一直执行下去zhi,直到有break为止;如果还没有就会执行到default语句dao,结束switch语句。

亲自测试2020.9.28

只执行一遍,连下面的默认条件也执行。不会出现自己担心的所谓死循环一直反复从头执行整体SWITCH里面内容。只一遍到底结束

 
Java中switch使用格式: switch(表达式) { case 常量表达式1: 语句1; break; .... case 常量表达式2: 语句2; break; default:语句; }

这种每个case后面跟上break,只要匹配执行相应的语句后,就会跳出switch接着执行后面的语句,这个很好理解。

可是如果case后面没有跟上break,程序会如何执行呢?
如下程序,根据数字1-7对应输出相应的英文单词:

https://zhidao.baidu.com/question/34978661.html

case只是个入口bai,如果没有break,会从入口处将后面du所有的zhicase全部执行一次,例如在以下程dao序中:

int x;

switch(x)

{

case 1:printf("a");

case 2:printf("b");

case 3:printf("c");

}

如果令x=1,由于没有break;语句,则系统会执行

printf("a");

printf("b");

printf("c");

扩展资料:

break语句是中断当前循环,或和 label 一起使用,中断相关联的语句。

执行 break 语句会退出当前循环或语句,并开始脚本执行紧接着的语句。

另外一个例子

会执行,如果case后面没有break;就会一直执行下去直到有break为止;如果还没有就会执行到default语句,结束switch语句 

https://blog.csdn.net/llerer/article/details/53608687

猜你喜欢

转载自blog.csdn.net/qq_25814297/article/details/108845521