当前位置: 技术问答>java相关
菜鸟级问题:为什么会打印出"two"???
来源: 互联网 发布时间:2015-01-14
本文导语: public class t { public static void main(String args[]) { 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("d...
public class t
{
public static void main(String args[])
{
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");
}
}
result -- one two(???) default
public class t
{
public static void main(String args[])
{
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");
}
}
result -- default(???)
{
public static void main(String args[])
{
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");
}
}
result -- one two(???) default
public class t
{
public static void main(String args[])
{
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");
}
}
result -- default(???)
|
switch語句的case中如果沒有break,
它就會繼續往下執行.
如果你的值不屬與任何一個指定的case,
它會執行default
它就會繼續往下執行.
如果你的值不屬與任何一個指定的case,
它會執行default
|
SCJP的答案的怎么来的?
书上的东西也是常常错的……别迷信书……
书上的东西也是常常错的……别迷信书……
|
switch语句
执行相应的case语句,遇到break,continue之类的进行跳转,否则顺序执行直至退出该语句。
执行相应的case语句,遇到break,continue之类的进行跳转,否则顺序执行直至退出该语句。
|
switch語句的case中如果沒有break,
碰到第一个符合条件的case之后会继续往下执行。
如果没有break,或default 放在开头,default: 都会被执行 。
第二个结果是:default zero
碰到第一个符合条件的case之后会继续往下执行。
如果没有break,或default 放在开头,default: 都会被执行 。
第二个结果是:default zero
|
1:case1和case2之间没break;
2:当然先执行default;
2:当然先执行default;
|
因为你忘了 break;