2016 - 2024

感恩一路有你

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

浏览量:2153 时间:2021-03-15 15:19:21 作者:admin

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

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

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

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

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

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

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

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

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

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

switch中的break作用是什么?若不加,会出现什么情况?请举例说明?

1. break-in switch的作用是结束switch循环,即不执行下面的case语句。

2. 如果不添加它,当您在case语句中完成执行时,您将转到下一个case语句并继续switch循环。但是,如果分支中没有语句,则不能写入break。

3. 示例:如下面的程序所示,student=10,case10循环,输出“学生数为10”。但是,由于没有中断,如果继续切换循环,将执行case20,并输出“学生数为20”。句子case20包含结束循环的中断。这样,就会出现问题。程序只需输出“学生数为10”,实际程序输出两个printf。如果在第10种情况后加上break,则是正确的。扩展的数据中断语句通常用在循环语句和开关语句中。当switch语句中使用break时,它可以使程序跳出switch,在switch之后执行语句;如果没有break语句,则从满足条件的地方(即switch括号中表达式匹配的case)开始执行,直到switch结构结束。当在do while、for和while循环语句中使用break语句时,程序可以终止循环。对于执行循环之后的语句,break语句始终与if语句相关联。也就是说,当条件满足时,循环就会跳出。

switch没有break会怎样执行 break和continue区别实例 switch中case后没有break

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