题目:写一个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后面的代码都会执行。