黑马程序员技术交流社区

标题: 关于switch语句 [打印本页]

作者: lucky24    时间: 2015-8-14 22:22
标题: 关于switch语句
请问switch语句中 deault是必要的吗
作者: 墨琰    时间: 2015-8-14 22:52
很有必要的,如果case没有匹配成功,那么是不是该有个default来结束swtich呢
作者: 唯爱丶    时间: 2015-8-14 23:45
switch语句是执行不一定非要有default的如果没有也是可以的,不过考虑到以后编码时防止出错都会带上的,一般老师说能省略的最好还是不要省略的!万一出错查询起来很痛苦的!
作者: 求学之路    时间: 2015-8-15 00:17
如果,case里面肯定有结果,也可以不用default
作者: 960743995    时间: 2015-8-15 17:30
switch语法不要求必须有default。default是C语言提供给我们的一个功能,我们可以选择使用;而不是你不想使用还非得绞尽脑汁将default挤进代码中。以下是我的使用及不使用的例子。
1.不使用。假设变量a 只可能是1,2,3,4. 那我只要4个case: 就搞定了,这样也有利于别人查阅。
2.使用。我们经常做的例题。考试分数的等级问题。score在0-59之间都是行者等级E,那么此处我们可以使用default,这样可以省略5个case: .
综上,default是为了我们方便而使用,如果用default的效果,还不如不用,我们就可以选择不使用。
作者: lucky24    时间: 2015-8-15 20:43
谢谢解答
作者: wanghui001001    时间: 2015-8-15 22:46
看情况吧,可以不要的,而且应该不会出现什么bug把
作者: 庐山烟雨浙江潮    时间: 2015-8-16 00:18
学习了,谢谢分享
作者: Edware    时间: 2015-8-17 08:03
这个没有强制要求,如果你不想用也可以。如果不想用,为了严谨的话可以对进入switch里的语句做个判断。
作者: 庞佳星    时间: 2015-8-17 09:45
可以没有
作者: tangbinbin    时间: 2015-8-17 10:40
可以不用的,
作者: wg592930    时间: 2015-8-17 11:13
我认为 Switch中一定要注意Case 的穿透性, 一般不能省略break,但也有特殊情况,比如说:多个case 下执行的语句相同,这个时候就可以利用 case 的穿透性。另外你说的defult 是指的是没有case 成立的情况下才执行的语句,所以很有必要
作者: 毛强    时间: 2015-8-17 21:03
规范的代码都会加上default,以防止出错
作者: 飓风少年    时间: 2015-8-17 21:33
有必要,没有deault前面条件不满足停不下来
作者: DUKEMAN    时间: 2015-8-17 21:37
960743995 发表于 2015-8-15 17:30
switch语法不要求必须有default。default是C语言提供给我们的一个功能,我们可以选择使用;而不是你不想使 ...

楼上很所言极是,看程序具体情况
作者: sl123    时间: 2015-8-17 21:43
可以没有啊,但是建议还是有的好,
作者: WPeng    时间: 2015-8-17 22:07
不是必要的 亲




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