黑马程序员技术交流社区
标题:
switch语句的代码没有break怎么理解?
[打印本页]
作者:
不想飞不到
时间:
2014-8-5 23:31
标题:
switch语句的代码没有break怎么理解?
本帖最后由 不想飞不到 于 2014-8-5 23:47 编辑
class Demo
{
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);
}
}
答案:15,14
求详细流程
作者:
jerom023
时间:
2014-8-5 23:40
等于15的那个:先执行default,然后挨个执行case
等于14的那个:先执行case 1,然后case 4和2
作者:
不想飞不到
时间:
2014-8-5 23:49
jerom023 发表于 2014-8-5 23:40
等于15的那个:先执行default,然后挨个执行case
等于14的那个:先执行case 1,然后case 4和2 ...
突然想起来,没有break就从入口往下执行
作者:
hzl_0911
时间:
2014-8-6 01:57
break是switch退出命令,如果没有break,程序会执行所有case语句,所以一般会加break.
作者:
huanglyhf
时间:
2014-8-6 10:34
没break ,选中的那项读完之后会一直乡向下读
作者:
li963309584
时间:
2014-8-6 11:20
switch里边的case如果没有匹配就执行default,有匹配的执行匹配的,如果后边不加break的话,执行完匹配的case后,接着向后执行,直到遇到break或者下面case都执行完
作者:
dingpanbo
时间:
2014-8-6 13:26
得遇到break语句,或者整个语句末尾,才会结束
作者:
晋一峰
时间:
2014-8-6 13:41
没有break将 进行case穿透 直到遇到break或者swich语句结束。 0 从 default往下依次走 , 1从case1 往下依次走 自己加一下吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2