for 语句
public class Test {
public static void main(String[] args) {
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
}
}
乍眼一看,我们会以为会输出3
其实并不是这样的
x什么都不满足,就会走default
走了default,y会加1
y+1后,由于default没有在下面加break,程序就会依次向下执行
现在的y等于3,然后就会走 条件为3的语句
由于条件3也没有break,就会走4的条件语句
最后,y就等于5了
public class Test {
public static void main(String[] args) {
int num = 0;
switch(num) {
default:
System.out.println("Default");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
}
}
}
接下来我们来看这个
这个语句会检测num的值,发现都不满足后,会走default
由于default没有在尾部加break;
整个语句会一直往下走,然后输出结果是
-----------------------------------------------------------------------------
Default
1
2
3
public class Test {
public static void main(String[] args) {
int a=2;
switch (a)
{
case 2:
System.out.println("Value is 2");
case 3 :
System.out.println("Value is 3");
break;
default:
System.out.println("end ");
break;
}
}
}
相信大家知道这个语句会怎么走了
这个语句会先走条件为2的语句,由于尾部没有break,它会直接走条件3的语句(并不会判断条件是否满足),然后break;