当前位置: 技术问答>java相关
一个scjp问题,我想不通,麻烦进来看看!
来源: 互联网 发布时间:2015-04-09
本文导语: What will be printed out if you attempt to compile and run the following code ? int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.printl...
What will be printed out if you attempt to compile and run the following code ?
int i=1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
default:
System.out.println("default");
}
1) one
2) one, default
3) one, two, default
4) default
答案很令人费解,答案是 3),而我认为1)啊!
int i=1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
default:
System.out.println("default");
}
1) one
2) one, default
3) one, two, default
4) default
答案很令人费解,答案是 3),而我认为1)啊!
|
它的代码中只有一个case有对应的break所以后面的全部执行了。。。。
如果是这样的才会选1)
int i=1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
default:
System.out.println("default");
}
如果是这样的才会选1)
int i=1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
default:
System.out.println("default");
}
|
因为在case 1和case 2里面没有break;
所以当匹配了case 1后并没有退出,继续执行,这时就不在进行匹配判断了。
所以当匹配了case 1后并没有退出,继续执行,这时就不在进行匹配判断了。
|
答案是3 因为case 1,case 2 没有break掉 所以回继续执行
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。