黑马程序员技术交流社区

标题: switch 中default的一些用法,你不知道的 [打印本页]

作者: Good_Man    时间: 2015-11-26 10:38
标题: switch 中default的一些用法,你不知道的
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

希望这些可以帮助到你们
作者: 陈光慧    时间: 2015-11-26 13:30
学习了,谢谢楼主分享,猛然看一眼还以为输出“a”,再看原来没有break
作者: Good_Man    时间: 2015-11-26 13:49
陈光慧 发表于 2015-11-26 13:30
学习了,谢谢楼主分享,猛然看一眼还以为输出“a”,再看原来没有break

嗯,是的,多多分享,多多学习
作者: hugh88    时间: 2015-11-26 15:13
没有break就一直执行吗?不管case后面的值?
作者: Good_Man    时间: 2015-11-26 20:02
hugh88 发表于 2015-11-26 15:13
没有break就一直执行吗?不管case后面的值?

是的,前提是default 在最前面, , case 就不会执行, 直接 执行case后的内容
作者: hrfhwy    时间: 2015-11-26 21:04
真的长见识了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2