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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小丁丁 中级黑马   /  2015-12-16 23:55  /  730 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x = 2;
                int y = 3;
                switch(x) {
                        default:
                                y++;
                        case 3:
                                y++;
                                break;
                        case 4:
                                y++;
                System.out.println("y="+y);
感觉很好玩的样子

2 个回复

正序浏览
最后输出一个4
x=2,不进入case 3
y++一次后就输出了
回复 使用道具 举报
switch语句结束的标识是,遇到break; 或者执行到大括号结束代码。
建议每一个case后面,都写上break; 而且default语句建议写到最后。
你这样写,如果y != 3 && y != 4,程序会走到default,y自增一次,
而程序没有运行到break也没有运行到右大括号,所以会继续执行下面的代码,y再次自增。形成case穿透
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马