2016 - 2024

感恩一路有你

switch不加break会怎样 为什么很多程序员不用switch,而是大量的if……else if?

浏览量:1477 时间:2021-03-16 20:40:47 作者:admin

为什么很多程序员不用switch,而是大量的if……else if?

答:主要是因为交换机不适合实际复杂的业务系统需求。业务在不断变化和迭代。一旦需求发生变化,条件的复杂性就很高,交换机无法处理。

开关何时合适?它的场景是基于单个变量的值(例如枚举),这比if条件更可读。

从上面的场景来看,它太有限了。让我简单地谈谈它的一些缺点:

1。真正的业务场景非常复杂,条件也不单一。一旦需求发生变化,维护代码就会崩溃。

2. 开关经常忘记写中断。据估计,很多人都忘了粗心地写。如果你看看Google的代码规范,你会发现Google对switch有很多要求。

事实上,有些人仍然使用交换机,这部分是由于历史原因。然而,随着科学技术的发展,原有的设计和设计都相对滞后。

某些编程语言(如python)没有开关语法。当然,一些新的语言golang和kotlin仍然是继承的,但是switch被打包了,被误解的语法被删除了,这使得switch更加灵活。没有包装很难使用。

通过上述缺点,即if语句更加灵活,并且根据业务逻辑条件编写,可维护性高。同时,只要代码质量高,可读性就会更高。

实际业务非常复杂,我不建议您必须使用大量的if,相反,它应该尽快返回以减少嵌套,从而增加可读性并降低维护成本。

在switch函数中是否一定要用break?

在C语言的switch语句中,如果添加break,则跳出switch语句,执行switch语句后的语句;如果不添加break,则运行switch中的后续语句,如运行到其他后续情况。在C语言中,switch通常与case、break和default一起使用。当常量表达式表示的数量与其中一个case语句中的常量一致时,将执行case语句后面的语句,并且将依次执行所有case语句中的语句,除非break;语句跳出switch语句。如果常量表达式的数量与所有case语句的常量不匹配,则执行default语句中的语句并跳出switch语句。1当switch语句中使用break时,它可以使程序跳出switch,在switch之后执行语句;如果没有break语句,则从满足条件的地方(即switch括号中表达式匹配的大小写)开始,直到switch结构结束。

2. 当在do while、for和while循环语句中使用break语句时,程序可以终止循环。对于执行循环之后的语句,break语句始终与if语句相关联。也就是说,当条件满足时,循环就会跳出。

为什么在switch结构中需要使用break语句?

开关

案例1

案例2]…

此结构

您的目的是让一个案例执行,而其他案例不执行。

因此,每个案例必须有一个中断才能退出结构。否则,以下情况也将被执行。

例如,如果执行案例1且没有中断,则将依次执行以下所有案例,直到它们全部完成。

switch不加break会怎样 switch选择结构流程图 c语言中%c

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。