class switch1
{
public static void main(String args[])
{
int a = 10;
switch(a)
{
default: System.out.println("Default");
case -1: System.out.println("-1");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这个程序将执行"default"和"case -1"语句,因为在匹配条件之后没有指定break(在这种情况下是在"default"之后).
但我不明白的是
a)为什么break需要在switch声明中?
b)为什么它甚至执行无效匹配条件的语句(即执行"case -1"))如果它只是匹配的话?
hot*_*ure 14
有时您需要多个案例来执行相同的功能.例如,我让用户指定模式1或模式32表示32位模式,模式2或模式64表示64位模式.
switch (input) {
case 1:
case 32:
/* Do 32-bit related code */
break;
case 2:
case 64:
/* Do 64-bit related code */
break;
default:
System.out.println("Invalid input");
}
Run Code Online (Sandbox Code Playgroud)
这就是休息很重要的原因.它们告诉switch语句何时停止执行给定方案的代码.此外,默认设置通常用于开关与任何情况不匹配时.