黑马程序员技术交流社区
标题:
switch 语句求解释
[打印本页]
作者:
shijinlong
时间:
2015-9-16 21:50
标题:
switch 语句求解释
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
作者:
哈哈我赢了
时间:
2015-9-16 22:02
这里Y的最终结果为6.
作者:
stream_lin
时间:
2015-9-16 22:05
这考的是Switch语句的执行流程,default虽然可以在Switch语句的任意位置,但是在执行的时候还是先把x的值与case后面的值去匹配,若是没有最后再执行default。而本题中执行完default后没有遇到break,这时就不会再判断case值而是继续往下执行,直到遇到break或者}结束。
作者:
哈哈我赢了
时间:
2015-9-16 22:12
因为x=2 当执行switch语句时是首先看()中的内容,然后再按顺序执行case语句看有没有与()中内容匹配。如果没有匹配的话就会执行default后面的语句最后碰到break或}结束。
在这个案例中显然case后面没满足2的条件,所以就会执行default后面的语句又因为case和default后面没有break因此y++会执行3次直到碰到}结束。
作者:
任振铭
时间:
2015-9-16 22:13
执行default,y+1=4,没有break不跳出,继续执行case3,y再加1得y=5
作者:
史世锋
时间:
2015-9-16 22:23
当case中没有匹配的值时,就会执行default,执行过default后就不再判断case,而是向下执行,直到碰到break或者是switch语句结束,结果是5
作者:
Hi不言而喻
时间:
2015-9-16 22:28
Y的结果是五遇到brake就会跳出循环
作者:
charryxiaocai
时间:
2015-9-16 23:47
6
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2