本文为个人理解如果哪里有不对的地方请大家给出宝贵意见谢谢:
分为三种情况分析:
1.当没有break时,default 在第一位的情况
例如:
switch (i) {
default:
System.out.println("默认");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
}
当给定义i=1时,输出的结果为: 当结果为1时输出结果为 1,2,3
当给定义i=2时,输出的结果为: 当结果为1时输出结果为 2,3
当给定义i=3时,输出的结果为: 当结果为1时输出结果为 3
当给定义i=4时,输出的结果为: 当结果为1时输出结果为 默认,1,2,3
总结:当i匹配到的时候它会走到匹配的位置,而且还会继续运行之后的代码,之后最后位置,当匹配不到是,他会都输出一遍
2.当没有break时,default 在中间时的情况
例如:
switch (i) {
case 1:
System.out.println("1");
default:
System.out.println("默认");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
}
当给定义i=1时,输出的结果为: 当结果为1时输出结果为 1,默认,2,3
当给定义i=2时,输出的结果为: 当结果为1时输出结果为 2,3
当给定义i=3时,输出的结果为: 当结果为1时输出结果为 3
当给定义i=4时,输出的结果为: 当结果为1时输出结果为 默认,,2,3
3.当没有break时,default 在最下面时的情况
例如:
switch (i) {
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
default:
System.out.println("默认");
}
当给定义i=1时,输出的结果为: 当结果为1时输出结果为 1,2,3,默认
当给定义i=2时,输出的结果为: 当结果为1时输出结果为 2,3,默认
当给定义i=3时,输出的结果为: 当结果为1时输出结果为 3,默认
当给定义i=4时,输出的结果为: 当结果为1时输出结果为 默认