2016 - 2024

感恩一路有你

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

浏览量:2655 时间:2021-03-14 01:35:24 作者:admin

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

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

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

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

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

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

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

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

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

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

如何做到一个else和多个If对应?

If else If表示当判断某个条件为真时,将不判断后续的else If语句,从而节省程序运行时间。对所有if语句判断多个if语句。即使有满足条件的if语句,后续的if语句也要判断多个if条件之间的并列关系

从内层开始,if与下面最接近的else配对。

基本结构:

if(){}else{}

请注意,如果花括号是单个语句,则可能会忽略花括号。例如,它变成:

if()else{}

if(){}else

if()else

您的程序是:

if(weight< 100&height>;64)

{if(height>=72)printf(“you are very high For your weightn”)

else printf(“you are high of your weightn”)}

else{if(weight>;height<)48)

printf(“you are quick short for your weightn”)

一个if接两个else会怎样?

总之,如果有多个else if,只要第一个if条件为真,即使else if条件满足,else也不会执行if and else,if和多个else if都是分支情况。

如果只执行其中一个代码,If和多个If并行执行,并且将按顺序执行,这是程序执行的效率问题

如果后跟If,则两个If都将执行;如果后跟elseif,则如果满足If条件,则后一个elseif将不执行,如果不满足,则将执行elseif;例如:[1]a=1b=2ifa==1{//。}如果b==2{//也可以到达这里。}【2】 A=1b=2ifa==1{//可以到这里。}Elseifb==2{//无法到达此处。}【3】 A=1b=2ifa!=1{//无法到达此处。}Elseifb==2{//可以到达这里。}

if…else语句 else if和else的区别 if else格式

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