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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        int x = 2,y=3;
        switch(x) {
                default:
                        y++;
                case 3:
                        y++;
                        break;
                case 4:
                        y++;
        }
        System.out.println("y="+y);    这个的每一步是怎么算的?

3 个回复

倒序浏览
case3没有break  会执行到case3 所以输出5
回复 使用道具 举报
switch(x){
  //语句体
}
如果x匹配不上会顺序执行语句体中的内容
所以会执行default 里面的y++;  继续执行case 3: y++ ;然后看到break跳出
所以结果是5
回复 使用道具 举报
case没有break的时候,会走到有break的case跳出循环,所以结果为5
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马