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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lucky24 中级黑马   /  2015-8-14 22:22  /  769 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问switch语句中 deault是必要的吗

16 个回复

倒序浏览
很有必要的,如果case没有匹配成功,那么是不是该有个default来结束swtich呢
回复 使用道具 举报
switch语句是执行不一定非要有default的如果没有也是可以的,不过考虑到以后编码时防止出错都会带上的,一般老师说能省略的最好还是不要省略的!万一出错查询起来很痛苦的!
回复 使用道具 举报
如果,case里面肯定有结果,也可以不用default
回复 使用道具 举报
switch语法不要求必须有default。default是C语言提供给我们的一个功能,我们可以选择使用;而不是你不想使用还非得绞尽脑汁将default挤进代码中。以下是我的使用及不使用的例子。
1.不使用。假设变量a 只可能是1,2,3,4. 那我只要4个case: 就搞定了,这样也有利于别人查阅。
2.使用。我们经常做的例题。考试分数的等级问题。score在0-59之间都是行者等级E,那么此处我们可以使用default,这样可以省略5个case: .
综上,default是为了我们方便而使用,如果用default的效果,还不如不用,我们就可以选择不使用。
回复 使用道具 举报
谢谢解答
回复 使用道具 举报
看情况吧,可以不要的,而且应该不会出现什么bug把
回复 使用道具 举报
学习了,谢谢分享
回复 使用道具 举报
Edware 中级黑马 2015-8-17 08:03:59
9#
这个没有强制要求,如果你不想用也可以。如果不想用,为了严谨的话可以对进入switch里的语句做个判断。
回复 使用道具 举报
可以没有
回复 使用道具 举报
可以不用的,
回复 使用道具 举报
我认为 Switch中一定要注意Case 的穿透性, 一般不能省略break,但也有特殊情况,比如说:多个case 下执行的语句相同,这个时候就可以利用 case 的穿透性。另外你说的defult 是指的是没有case 成立的情况下才执行的语句,所以很有必要
回复 使用道具 举报
规范的代码都会加上default,以防止出错
回复 使用道具 举报
有必要,没有deault前面条件不满足停不下来
回复 使用道具 举报
DUKEMAN 来自手机 中级黑马 2015-8-17 21:37:05
15#
960743995 发表于 2015-8-15 17:30
switch语法不要求必须有default。default是C语言提供给我们的一个功能,我们可以选择使用;而不是你不想使 ...

楼上很所言极是,看程序具体情况
回复 使用道具 举报
sl123 中级黑马 2015-8-17 21:43:45
16#
可以没有啊,但是建议还是有的好,
回复 使用道具 举报
WPeng 中级黑马 2015-8-17 22:07:13
17#
不是必要的 亲
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马