题目:写一个switch语句,为每一个case打印一个消息。然后把这个switch放到for循环来测试每个case。先让每个case后面都有break,测试一下,再删掉break测试一下。
分析:case后面必须跟break否则会出现顺序输出的后果。
public class test { public static void main(String[] args) { for(int i=1;i<=100;i++){ switch(i%3){ case 0: System.out.println(i+"%3="+0); break; case 1: System.out.println(i+"%3="+1); break; case 2: System.out.println(i+"%3="+2); break; } } } }
该例子输出1-100对3取余的结果,效果良好如下:
…… 24%3=0 25%3=1 26%3=2 27%3=0 28%3=1 29%3=2 30%3=0 31%3=1 32%3=2 33%3=0 34%3=1 35%3=2 ……
删掉break后,就不正常了逻辑,如下:
90%3=0 90%3=1 90%3=2 91%3=1 91%3=2 92%3=2 93%3=0 93%3=1 93%3=2 94%3=1 94%3=2 95%3=2 96%3=0 96%3=1 96%3=2
没有及时跳出,所以符合条件的case后面的代码都会执行。