java 中无break的switch

来源:互联网 发布:淘宝团队建设 编辑:程序博客网 时间:2024/05/21 22:43

前几天在面试中遇到了这么个题目:

public static void main(String[] args) {test();}private static void test() {int result = 0, i = 2;switch (i) {case 1:result = result + i*2;case 2:result = result + i*2;case 3:result = result + i * 2;}System.out.println("result: " + result);}
当时知道没有写break,但是记不清楚到底是第一次匹配后,没有break时,后面的是只执行default的还是所有的都执行

于是写了个demo

private static void test2(){int i = 0;switch (i) {case -1:System.out.println("begin -1");case 0:System.out.println("begin 0");case 1:System.out.println("begin 1");case 2:System.out.println("begin 2");default:System.out.println("begin default");}}
输出结果显示switch没有break时,第一次匹配后,会顺序的执行下面的case块,最后执行default。
输出结果:

result: 8begin 0begin 1begin 2begin default



阅读全文
0 0