java if condition == false vs!操作者

时间:2014-09-24 10:33:14

标签: java if-statement java-7

当我查看我的同事的代码时,我遇到了下面的代码,这让我想到了

if((a == d && b < c) == false){
}

但我看到人们更频繁地使用 运算符,而不是检查布尔值 == false

我没有在代码中看到任何错误,但只是想知道哪种方式更好。我在谷歌搜索了一个答案,但我没有得到任何有用的信息。

3 个答案:

答案 0 :(得分:3)

确实有人会看到==布尔值。

BAD STYLE                 GOOD STYLE
c == false      <=>       !c
c != true

c == true       <=>       c
c != false

这可能是由于!无法识别(not关键字更清晰)。 但总的来说,它似乎是一个感知问题:思考&#34; c是假的&#34;,在布尔值中添加true和false一个特殊的(类似值)含义。

它是样式,因为它显示缺少心理否定跳跃,只是可能是不擅长布尔逻辑的标志。如:

if ((a == d && b < c) == false) {
if (!(a == d && b < c)) {
if (a != d || b >= c) {

P.S。

有争议,虽然c == true客观上是绝对多余的,c != false有两个否定之处。

答案 1 :(得分:0)

没有性能差异,你可以使用你认为更好的东西。 C程序员大多使用== false或== true。我个人用!。

答案 2 :(得分:0)

boolean多余使用的重点是什么? ?

所以要检查我们可以使用的true条件

 if(a == d && b < c){
 }

现在你意识到我们可以使用

 if(!(a == d && b < c)){
 }

表示不是true条件。