慕慕5006066
2021-03-08 21:05
case没有遇到break会直接执行下一个case块内容还是需要判断下一个case块是否成立再执行
不会判断,直接就执行下去直到出现break
我试了一下,发现如下情况,当句中没有break时,会从第一个case开始判断是否匹配,没遇到匹配值之前,不会输出打印。一旦遇到匹配值,则自此case开始,之后的不会判断是否匹配,全部输出打印。
public class HelloWorld {
public static void main(String[] args) {
char today='三';
switch (today){
case '一':
case '三':
System.out.println("早餐吃油条");
case '五':
System.out.println("早餐吃包子");
break;
case '二':
case '四':
case '六':
System.out.println("早餐吃油条");
break;
case ('日'):
System.out.println("主席套餐");
break;
default:
System.out.println("星期数有误");
}
}
}
星期三和星期五后面的语句都执行了,说明没有判断,遇到break 结束。
会判断,如果后面的case 值 不相付,则这个值后面的输出语句不会执行,会进行判断下一个case 后的值,
另一种情况是switch的值和后面case后的值都为true时 ,如果case后没有break,没有break的输出语句都会输出。
break代表跳出;如果没有遇到break会判断下一个case是否成立,符合则执行块的内容,以此内推直到整个switch执行完;
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题