黑马程序员技术交流社区
标题:
这条程序的运行过程是怎样的?
[打印本页]
作者:
、海
时间:
2014-6-13 19:32
标题:
这条程序的运行过程是怎样的?
本帖最后由 、海 于 2014-6-13 19:34 编辑
int a=2;
switch(a)
{
case 1:
a+=1;
break;
case 2:
a+=2;
case 3:
a+=3;
break;
case 4:
a+=4;
break;
default:
a=0;
}
System.out.println(a);
复制代码
//运行结果为7
作者:
18353665932
时间:
2014-6-13 19:36
a = 3,所以运行case2,那么,a = 4了,而case2中没有break语句,所以,他会继续向下运行,那么a = 7了,而在case3中,有break语句,那么跳出循环,所以输出结果就为7
作者:
zhanqq2010
时间:
2014-6-13 19:55
首先 a=2, 那么case 2语句执行 执行结果为 a=2+2=4 ( a+=2等价于a=a+2 ) 因为这里没有break;语句 所以还会向下面执行 (因为switch语句只要匹配了其中一个,那么它就会一直往下执行,直到运到break;语句才停止而不管下面的是否匹配 ) 所以这时候 case 3 执行 得到结果 a=a+3=7,此时遇见break;跳出语句,打印结果为7
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2