这两个条件如何彼此不同,一个是使用||括号和其他用的是&&。
if (!(A.equals(param) || B.equals(param)))
System.out.println("True");
if (!A.equals(param) && !B.equals(param))
System.out.println("True");
由于
答案 0 :(得分:2)
(!A) && (!B)
要求两者都是假的
!(A || B)
要求两者都是假的
因此,2个代码为所有输入产生相同的输出
关于and
和or
的这些规则称为De Morgan's laws
从图形上看,不在A或B区域(未被任何一个圆圈覆盖)的区域与不在A和B组合圈区域内的区域相同
(!A) && (!B)
=不在红色或蓝色圆圈中的区域
!(A || B)
=不在红色和蓝色圆圈中的区域组合
答案 1 :(得分:1)
&安培;&安培;如果两个值都为true,则返回true, ||如果其中一个值为true,则返回true, 但在你的情况下,两者都做同样的事情。
答案 2 :(得分:1)