会执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