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
这也有缺陷,那也有问题,岂不没有办法继续编程,还不如回家种地