8.编译并运行下列代码,可能会打印输出什么?
int i = 9 ;
switch(i) {
default:
System.out.println("default");
case 0 :
System.out.println("zero");
break ;
case 1 : System.out.println("one");
case 2 : System.out.println("two");
}
A. default
B. default , zero
C. error default clause not defined
D. no output displayed
正确答案是:B
i=9 ,走default分支。输出 "default";
由于没有 break,走case 0分支,输出"zero"。
此处多说一点switch判断case 没有符合条件的会走default,switch并不是顺序判断,但是一但走进任何分支,只要没有break,就会按照顺序往下执行所有的分支,直至遇见break或者走完所有分支。具体测试情况如图。
① i=9 输出:
default
zero
① i=0 输出:
zero
① i=1 输出:
one
two
① i=2 输出:
two