//写出输出结果。
class Demo2
{
public static void main(String[] args)
{
show(0);//15
show(1);//14
}
public static void show(int i)
{
switch(i)
{
default:
i+=2;
case 1:
i+=1;
case 4:
i+=8;
case 2:
i+=4;
}
System.out.println("i="+i);
}
}
当调用show(0)时,先执行default:然后再向下执行case;
当调用show(1)时,在这不执行default,先执行case1,然后向下执行。
原因见下:
1,switch语句选择的类型只有四种:byte,short,int,char;
2,case之间与default没有顺序,先执行第一个case,没有匹配的case执行default。
3,结束switch语句的两种情况,遇到break,执行到switch语句结束;
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
|