例子中有这么一种情况:没有遇见break时输出所有case块内容,但是以习题来说的话为什么不可以全部输出呢?
public class HelloWorld { public static void main(String[] args) { char today='日'; switch(today) { case '一': case '三': case '五': System.out.println("早餐吃包子"); case '二': case '四': case '六': System.out.println("早餐吃油条"); case '日': System.out.println("吃主席套餐"); } } }
但如果改成char
today=
'一'
; 就会全部输出了
因为你输入的是日,已经排在最后面一个,所以前面的输出你是看不到的,假设你输入的是一,后面会全部输出的,记住,switch遇到break后就会立刻停止语句体的执行。
例子的情况是执行符合条件方案后如果没有碰到break就会把接下去的方案也执行了直至没有方案 你这个是符合条件的方案已经是最后一个方案了 接下去没方案执行 所以结果也只执行最后一个方案
你没有加 break 语句。
System.out.println("早餐吃包子");
break;