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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int a=5;
switch(a){
    default:
               System.out.println("a");
    case 1:
               System.out.println("b");
    case 2:
               System.out.println("c");
               break;
    case 3:
               System.out.println("d");
               break;
}

请问输入什么?

很多人的答案是  a  ,  错误的。

正确答案是:
a
b
c

switch中如果case 没有找到匹配的,则运行default,这是没有遇到break,继续向下执行,不再执行case,顺序向下,所以会输出  b和c

希望这些可以帮助到你们

5 个回复

正序浏览
真的长见识了
回复 使用道具 举报
hugh88 发表于 2015-11-26 15:13
没有break就一直执行吗?不管case后面的值?

是的,前提是default 在最前面, , case 就不会执行, 直接 执行case后的内容
回复 使用道具 举报
没有break就一直执行吗?不管case后面的值?
回复 使用道具 举报
陈光慧 发表于 2015-11-26 13:30
学习了,谢谢楼主分享,猛然看一眼还以为输出“a”,再看原来没有break

嗯,是的,多多分享,多多学习
回复 使用道具 举报
学习了,谢谢楼主分享,猛然看一眼还以为输出“a”,再看原来没有break
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马