2016 - 2024

感恩一路有你

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

浏览量:1819 时间:2021-03-13 18:57:03 作者:admin

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

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

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

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

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

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

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

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

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

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

用if……else和elseif有什么区别和联系?可以相互替换吗?

If和else If互斥。如果您的条件满足第一个If,则不会执行以下条件。如果不满足第一个If和第二个else If,则在执行第二个else If之后,将不执行以下内容,依此类推,如果条件仍然不满足,则执行else中的内容

语法允许带或不带else,并且可以编译。但是,有或没有else是不等价的,所以不能称之为省略。在这里,语句x=-0没有else,这意味着它不受前一个条件的控制。在分析这个问题时,我们主要使用if而不是花括号来关注最近的句子。不要被不科学的缩进格式所迷惑。经过这样简单的分析,不难发现x=-0根本不在任何if块中,它无论如何都会被执行。

C语言中,if……else if结构中,可以省略最后的一个else吗?如果可以,那是为什么呢?如图?

不,现在主流语言基本上都是类C语言。什么是类C语言,也就是语法上类似于C的语言,这类编程语言基本上都有条件判断语句,也就是if-else,loop语句,for-while,各种类型的变量等等。。。。我不知道其他类,但是非常低级的汇编语言没有if else for while开关等等。。但思维的基本逻辑并没有改变。汇编语言有自己的条件判断和循环语句,可以任意组合。程序集也没有变量的概念,更不用说数据类型了。乍一看,似乎汇编并不强大,也不容易学习。事实上,并非如此。这很难学。一条高级语言的语句可以转换成几个或几十个汇编代码,几百个代码,也就是说,如果要完成一条高级语言的if语句,至少需要几个以上的汇编代码。因为没有变量,也没有数据类型,所以所有的数据都需要自己根据地址读写,根据需要使用。可以看出,不同的语言有不同的代码处理方法

if…else什么意思 java else if lf else 语句的使用

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