public class Sample {
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");
}
}
}
输出:
default
zero
虽然i
初始化为9,但是如何挑选案例0?是什么原因?
答案 0 :(得分:3)
你在第一个默认情况之后错过了一个中断语句,所以执行只是落到了第二种情况。同时将默认情况放在最后,这样只有在检查完所有其他情况后它才会被执行。
public static void main(String[] args) {
int i = 9;
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");
break;
}
}
答案 1 :(得分:3)
当我跑步时,打印出来:
default
zero
你有几个错误。
(1)将默认案例放在最后,而不是开头。否则,您将自动进入默认情况 (2)在每个案例之后加上一个中断语句。如果你不这样做,你的代码将从没有中断的情况继续,并执行下一个案例(和下一个案例)的代码,直到它休息。
试试这个
public class Sample {
public static void main(String[] args) {
int i = 9;
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");
}
}
}
Java switch语句的链接 - http://www.tutorialspoint.com/java/switch_statement_in_java.htm。
答案 2 :(得分:1)
您错过了在默认情况下使用break
,因此程序继续执行并打印"零"。
答案 3 :(得分:1)
你犯了两个错误。
break
s <强>解决方案:强>
public class Sample
{
public static void main(String[] args)
{
int i = 9;
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");
}
}
}