Java条件AND或OR

时间:2017-09-17 12:04:34

标签: java conditional-statements

这两个条件如何彼此不同,一个是使用||括号和其他用的是&&。

if (!(A.equals(param) ||  B.equals(param))) 
            System.out.println("True");


if (!A.equals(param) && !B.equals(param)) 
            System.out.println("True");

由于

3 个答案:

答案 0 :(得分:2)

(!A) && (!B)要求两者都是假的

!(A || B)要求两者都是假的

因此,2个代码为所有输入产生相同的输出

关于andor的这些规则称为De Morgan's laws

enter image description here

从图形上看,不在A或B区域(未被任何一个圆圈覆盖)的区域与不在A和B组合圈区域内的区域相同

(!A) && (!B) =不在红色或蓝色圆圈中的区域

!(A || B) =不在红色和蓝色圆圈中的区域组合

答案 1 :(得分:1)

&安培;&安培;如果两个值都为true,则返回true, ||如果其中一个值为true,则返回true, 但在你的情况下,两者都做同样的事情。

答案 2 :(得分:1)

来自De Morgan's laws:

  

(!A&&!B)相当于!(A || B)

  

(!A ||!B)相当于!(A&& B)