A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

下面程序执行的结果是?()
int x=2,y=3;
switch(x)
{
        default:
                y++;
        case 3:
                y++;
        case 4:
                y++;
}
System.out.println("y="+y);
A.  3
B.  4
C.  5
D.  6

17 个回复

倒序浏览
D  这种题就看default在哪和有没有break

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 很给力!

查看全部评分

回复 使用道具 举报 1 0
case穿透,因为没有break。
回复 使用道具 举报
D,因为case后没用2,因而代码从头执行。当遇到break或代码执行到最后,才会退出switch语句,因而选6

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
先匹配case,匹配不到case,走default,在从上往下执行,y = 6;

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 很给力!

查看全部评分

回复 使用道具 举报
docwei 来自手机 中级黑马 2016-2-26 23:44:58
地板
选D啊啊啊啊啊
回复 使用道具 举报
D   没有break就穿透了
回复 使用道具 举报
答案为D,case有穿透效果
回复 使用道具 举报
huang_bing_hua 来自手机 中级黑马 2016-2-27 08:33:02
9#
sansu 发表于 2016-2-26 21:27
下面程序执行的结果是?()
int x=2,y=3;
switch(x)

先匹配case,匹配不到case,走default,由于没有break,发生case穿透,y = 6;

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
A.3(凑字符)
回复 使用道具 举报

我错了,各位请无视。。。。

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 很给力!

查看全部评分

回复 使用道具 举报
case穿透,选D
回复 使用道具 举报
超人d咖啡也加糖 发表于 2016-2-27 11:42
我错了,各位请无视。。。。

嗯嗯
回复 使用道具 举报
D,视频里的原题,表示无压力.x=2,首先寻找case 2:没有就默认执行default,之后因为没有break,一路击穿,一直运行到底
回复 使用道具 举报
D,今天刚做了
回复 使用道具 举报
陌城 发表于 2016-2-26 21:53
D  这种题就看default在哪和有没有break

先匹配case,未匹配上执行defaul后的语句,   defaul语句后没break,发生穿透继续运行,直到遇到大括号结束!
回复 使用道具 举报
选择d 因为没有break 所以从default:开始穿透y++三次
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马