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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© d345462262 中级黑马   /  2016-1-10 12:34  /  793 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

执行的时候,先看case ,case不满足看default,那default看完为啥又看一遍case,case不都看完了吗。。。
<              int x = 2;
                int y = 3;
                switch(x){
                        default:
                                y++;
                        case 3:
                                y++;
                        case 4:
                                y++;
                }
                System.out.println("y="+y); >

6 个回复

正序浏览
因为default后没有break;语句。switch语句只有遇到break;或者 } 才会结束。你说的这是case的穿透,就是当程序一直没有case 可以匹配,又没有break来结束语句的时候,就依次往下执行可以执行的语句,而不再去匹配case的值。
回复 使用道具 举报
没有break
回复 使用道具 举报
学习要注意细节方能成功,大家加油。
回复 使用道具 举报
没有结束语句,就不在判断,直接向下执行,直到碰到结束语句
回复 使用道具 举报
学习                                 
回复 使用道具 举报
碰到break或者右花括号才结束循环
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马