黑马程序员技术交流社区

标题: switch语句的case和default有顺序吗? [打印本页]

作者: 夕颜    时间: 2015-4-16 11:25
标题: switch语句的case和default有顺序吗?
个人认为,switch语句的case和default是由顺序的,因为在执行程序时,先执行第一个case,没有匹配的case才会执行default。看到老师的课件上写“case之间与default没有顺序”,我就晕,多多指教!谢谢啦!

作者: 一袭蓝10    时间: 2015-4-16 11:40
有顺序,如果把default写在第一句,程序总会执行default不在判断是否符合case
作者: 夕颜    时间: 2015-4-16 11:49
default无论写在哪个位置,应该都是第一执行case,没有匹配的再执行default吧
作者: aanihao    时间: 2015-4-16 13:44
没有顺序要求的哦。case 和default他们是没有关系的。switch语句里只有case谈条件,其他的都没有要求。因为通常有break,所以让你产生错觉了。
作者: 张乐    时间: 2015-4-16 13:50
那需要看条件吧?把default放在第一条,如果你的条件正好满足default那么肯定就跳出去了.个人感觉应该是这样.勿喷.
作者: 只吃饭不洗碗    时间: 2015-4-16 14:08
就是说法不同吧,老师的意思是在写法上没顺序,不管怎么写的什么顺序,都是先执行case,没有匹配的case才会执行default。所谓有顺序是指执行的时候是有顺序的,先case后default
作者: Searching    时间: 2015-4-16 14:18
default和case的位置是可以没有顺序的,没有符合的case最后才会执行default
作者: 夕颜    时间: 2015-4-16 15:48
只吃饭不洗碗 发表于 2015-4-16 14:08
就是说法不同吧,老师的意思是在写法上没顺序,不管怎么写的什么顺序,都是先执行case,没有匹配的case才会 ...

嗯嗯,应该就是你这种理解的,写法没顺序,执行有顺序
作者: 晓月清晖明    时间: 2015-4-16 16:15
应该是吧
作者: 王善辉    时间: 2015-4-16 17:48
程序先判断case中的值,没有就回执行default中内容,可是如果这种情况,default在case语句上面(前面),如果没有break跳出,则会执行后面的case内容,直到有break,跳出
作者: 夕颜    时间: 2015-4-17 08:21
王善辉 发表于 2015-4-16 17:48
程序先判断case中的值,没有就回执行default中内容,可是如果这种情况,default在case语句上面(前面),如 ...

嗯嗯  是的
作者: 13699266500    时间: 2015-4-17 10:14
case和default是没有顺心的,都是先执行case再执行default!记得写break
作者: 姚海明    时间: 2015-4-17 11:12
没有顺序,不管default写在switch的第一行还是常见的最后一行,都是先判断case的条件,没有符合的才会执行default
作者: 蜡笔    时间: 2015-4-17 11:23
case是有顺序的,但是default可以放在任意位置,程序都是先按顺序判断case,最后才执行default中的语句,但是如果期间遇到匹配的case就会继续往下执行直到遇到了break跳出switch区域




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