黑马程序员技术交流社区
标题:
关于switch语句问题?
[打印本页]
作者:
小超超
时间:
2016-8-25 11:00
标题:
关于switch语句问题?
class Demo {
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);
}
}
输出是什么?怎么解释?不胜感激。
作者:
cdw999888
时间:
2016-8-25 12:23
变量x在这个选择语句中起了什么作用?如果switch语句中的变量是y的话,输出语句我认为以后输不出来。我也是新人,仅仅作为自己的愚见吧。
作者:
yuanxianzhi
时间:
2016-8-25 12:46
x=2 匹配不了case语句,只能执行default y++ 答案是4
作者:
cuiyue018
时间:
2016-8-25 13:08
y=5 先判断x,没有的话再执行default,default放在了首行,执行完y++,没有break跳出,继续往下执行case3里的y++,有break就跳出了不再往下执行
作者:
细听风语为梧桐
时间:
2016-8-25 17:09
结果是5 ,default后面没有break跳出,所以继续执行 default后面的case语句,两次++ ,所以结果5. 同学你感觉呢
作者:
醉梦乘风
时间:
2016-8-25 19:12
如上所说。确实是y=5,先执行一次default是+了一次,然后又case+了一次,
作者:
小胖妞
时间:
2016-8-25 19:19
输出答案y=5,因为x的值与case后面的数值进行比较,都不相等,最后走defalt,执行y++,y变成4,没有遇到break,继续向下执行,执行case3的y++后,y的值为5,遇到break,跳出循环
作者:
lrwillinggerry
时间:
2016-8-26 00:08
y=5,要注意这程序的break是否存在
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2