购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第4章

细说开发人员意识中的20个常见谬误

对编程相关知识理解上的错误可能会对编写的程序产生负面的影响,也可能会给他人造成理解上的错误,这里的错误我们称为谬误。

为了避免编程谬误对程序员及其所开发软件造成影响,要对这些谬误进行更正,笔者根据多年的编程经验,对一些经常容易产生的谬误进行了总结,希望通过本章的学习,程序员能够不再犯同样的错误。 OlkPjOhNdt3gdrbOYYijHMoOz38JiFmDX6HqOG6yok1tQaCAdlvnbqep9JXVXaZT



谬误1

看似相同
——使用&&、||和&、|作用于布尔值效率相同

有很多程序员认为逻辑与运算符“&&”和“&”,作用于布尔值效率相同,其实这种说法是错误的,这是因为“&&”是短路运算符,当用“&&”连接起来的两个逻辑值,如果第一个逻辑值为假值false,则“&&”连接的表达式就为假值false,不再判断第二个逻辑值的真假,而用“&”连接起来的表达式则不同,不管第一个逻辑值是真值true,还是假值false,都需要对第二个逻辑值进行判断,所以使用“&”运算符要比使用“&&”运算符效率低。

同理,对于逻辑或运算符“||”和“|”,作用于布尔值效率相同的说法也是错误的,这是因为“||”也是短路运算符,当用“||”连接起来的两个逻辑值,如果第一个逻辑值为真值true,则“||”连接的表达式就为真值true,不再判断第二个逻辑值的真假,而用“|”连接起来的表达式则不同,不管第一个逻辑值是真值true,还是假值false,都需要对第二个逻辑值进行判断,所以使用“|”运算符要比使用“||”运算符效率低。

示例:

运行本示例,效果如图4.1 所示。

图4.1 使用&&和&运算符的效果

说 明

虽然使用“&&”和“&”以及“||”和“|”都可以进行逻辑运算,但是由于“&&”和“||”是短路运算符,执行效率高,所以如果作为条件语句和循环语句的条件使用时,则应尽量使用“&&”和“||”运算符。 OlkPjOhNdt3gdrbOYYijHMoOz38JiFmDX6HqOG6yok1tQaCAdlvnbqep9JXVXaZT

点击中间区域
呼出菜单
上一章
目录
下一章
×