问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

if/else switch 语句的缺点是什么?为何不提倡使用这两种语句?

发布网友 发布时间:2022-05-08 22:44

我来回答

5个回答

热心网友 时间:2024-01-27 10:56

不利于程序的扩展
用switch语句时,当通过增加一个新类对基于switch结构的系统进行修改时,程序员可能会忘记将其添加到现有的所有switch结构中。每次新增和删除一个类都需要修改系统中的所有switch结构,但追踪这些语句非常耗时,而且也容易出错。这是就多态性编成而言的。

参考资料:C++程序设计教程

热心网友 时间:2024-01-27 10:56

请明确你的编程语言,是java,c,c++,php,c#.
语言不同对於if/else swtich都有差别,谢谢~

离散值表达式分支swtich:
C和C++语言允许switch语句中case标签后不出现break语句从而可以继续执行下面case后的语句。但是这往往由于程序员忘记写break语句而成为一个难以发现的漏洞。
比如c/c++那样在执行某一case后继续遍历其他的语句,必须在case语句后加上以下跳转语句:goto case label;goto default。或者throw和return也可以。还有switch语句不支持字符串常量
题外话:对于switch语句,可以考虑到某些情况的多发性,从而调整其在case中的位置.

布尔表达式分支if/else:
if/else语句虽然也是分支语句,但是其对于阅读的直观性有时候比较欠缺,而且多了之后逻辑错误发生情况比较多.容易包含隐含错误.

不过在一般的程序中不用考虑很多,如果没有要求的话.

对于这两个语句用的时候多加注意就可以了.

热心网友 时间:2024-01-27 10:57

什么语言都一样,没有了if else就编不程,没了switch就写一堆if来代替,是谁胡说八道的什么不能用???你去叫他不用if写个程序出来看看???只会用嘴说,就像某些专家成天在说这个不能吃,那个有害健康,怎么没见他不吃人食吃猪食??

热心网友 时间:2024-01-27 10:57

楼主呀,你写过程序没有。。。。。。。。。
你写几年程序再来说这些问题吧。
这是最基本的选择结构,非用不可。
任何一个程序语言都要实现至少一个IF结构。否则是不能完成给定的任务的。
(理论上已经证明。)

热心网友 时间:2024-01-27 10:58

这也有缺陷,那也有问题,岂不没有办法继续编程,还不如回家种地
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
3300伏电压的配电柜可以申请CCC认证吗 周杰伦的爱在西元前歌词 优学派 U27 学生平板电脑-购买最佳价格 读书郎与优学派哪个更好 优学派好不好 信用评级评级标准 苹果手机浏览网页自动跳出广告 微量注射泵怎么算用量 微量注射泵使用方法和注意事项 45×203=?,用竖式计算 203×108竖式 switch/case和if/else的分别在哪 各位,else if和switch等效吗? if else 语句与switch的用法区别 switch case语句怎么改成else if 语句? Switch语句比起ifelse语句有哪些优势? if else和switch的区别 废旧回收需要办理哪些证件,如何办理请问,自己种了多年的地,但没有土地使用证,怎么办理废旧回收许可证_百度问一问 为什么限制生产性废旧回收范围 如何设置win10防火墙中远程调试 怎么建立个人网站啊?详细过程 怎么免费建立自己的网站? 怎样做好校园文化建设 微信拍小视频卡住怎么办 听说爱淘宝不错,可是为什么手机那么便宜,会不会是二手或者翻新的,有什么app信得过的 为什么一解锁就出现爱淘宝界面 大庆哪有卖儿童N95口罩 肺癌病人,脑转移,做过放化疗。昨天晚上初次出现面部抽搐 请问野葡萄根炖黄酒可以治慢性咽喉炎吗 乘坐飞机 能携带整条的香烟吗 怎样把写轮眼进化到最高阶段? switch语句怎么改成if else 语句? if判断语句快还是switch快 java switch和if else问题 java中if-else和switch怎样用? flash 中 if 、else if、switch哪个效果好 怎样解除挂名股东? 龙珠:悟空一共变成几次大猩猩? 为什么贝吉塔变身巨猿还有意识,悟空就没有意识? 《龙珠》中贝吉塔变成大猩猩能提升10倍战斗力,他为何不情愿? 为什么贝吉塔变身巨猿还有意识,悟空就不行? 龙珠超,布罗利为什么可以不用变成大猩猩,就可以提升十倍战斗力? 《龙珠》贝吉塔变成大猩猩,能提升十倍战斗力,后期却不变了的原因是什么? 布罗利变身超级大猩猩能否战胜悟吉塔? 动画片龙珠中撒亚人是怎样变成大猩猩的 《龙珠》还记得贝比吗,占据贝吉塔的身体,还变成了大猩猩,发生了什么? 赛亚人在其他的星球也会变成大猩猩吗? 七龙珠第一部孙悟空在那几集变成大猩猩 龙珠中孙悟空小时候为什么会变成大猩猩 七龙珠孙悟空几集变成大猩猩 《七龙珠》为何贝吉塔不变成大猩猩对付弗利萨?