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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

个人认为,switch语句的case和default是由顺序的,因为在执行程序时,先执行第一个case,没有匹配的case才会执行default。看到老师的课件上写“case之间与default没有顺序”,我就晕,多多指教!谢谢啦!

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

13 个回复

倒序浏览
一袭蓝10 来自手机 中级黑马 2015-4-16 11:40:20
沙发
有顺序,如果把default写在第一句,程序总会执行default不在判断是否符合case
回复 使用道具 举报
default无论写在哪个位置,应该都是第一执行case,没有匹配的再执行default吧
回复 使用道具 举报
没有顺序要求的哦。case 和default他们是没有关系的。switch语句里只有case谈条件,其他的都没有要求。因为通常有break,所以让你产生错觉了。
回复 使用道具 举报
那需要看条件吧?把default放在第一条,如果你的条件正好满足default那么肯定就跳出去了.个人感觉应该是这样.勿喷.
回复 使用道具 举报
就是说法不同吧,老师的意思是在写法上没顺序,不管怎么写的什么顺序,都是先执行case,没有匹配的case才会执行default。所谓有顺序是指执行的时候是有顺序的,先case后default
回复 使用道具 举报
default和case的位置是可以没有顺序的,没有符合的case最后才会执行default
回复 使用道具 举报
夕颜 中级黑马 2015-4-16 15:48:42
8#
只吃饭不洗碗 发表于 2015-4-16 14:08
就是说法不同吧,老师的意思是在写法上没顺序,不管怎么写的什么顺序,都是先执行case,没有匹配的case才会 ...

嗯嗯,应该就是你这种理解的,写法没顺序,执行有顺序
回复 使用道具 举报
应该是吧
回复 使用道具 举报
程序先判断case中的值,没有就回执行default中内容,可是如果这种情况,default在case语句上面(前面),如果没有break跳出,则会执行后面的case内容,直到有break,跳出

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
王善辉 发表于 2015-4-16 17:48
程序先判断case中的值,没有就回执行default中内容,可是如果这种情况,default在case语句上面(前面),如 ...

嗯嗯  是的
回复 使用道具 举报
case和default是没有顺心的,都是先执行case再执行default!记得写break
回复 使用道具 举报
没有顺序,不管default写在switch的第一行还是常见的最后一行,都是先判断case的条件,没有符合的才会执行default
回复 使用道具 举报
case是有顺序的,但是default可以放在任意位置,程序都是先按顺序判断case,最后才执行default中的语句,但是如果期间遇到匹配的case就会继续往下执行直到遇到了break跳出switch区域
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马