这两个条件有什么区别?我尝试使用两种条件但输出不同。
if(!(data1 == true || data2 == true))
{
// do something
}
和
if(data1 != true || data2 != true)
{
// do something
}
答案 0 :(得分:1)
!(data1 == true || data2 == true)
此条件与data1 != true && data2 != true
相同
用!运算符==给!=并使用!运算符||会给&&
您的第二个条件data1 != true || data2 != true
将与您的第一个条件相同如果您替换||与&&在第二个条件
答案 1 :(得分:1)
!(data1 == true || data2 == true)
这相当于(另见De Morgan's laws):
(data1 != true && data2 != true)
这显然与
不同(data1 != true || data2 != true)
答案 2 :(得分:0)
拳头状况:
if(!(data1 == true || data2 == true))
{
// do something
}
如果结果为true,则结果为false,如果结果为false,则结果为true。
如果data1 == true
为真,则不会检查data2条件并使所有条件都为false。所以如果data1 == true
那么整个条件都是假的。与data1相同。如果data1或data2为false(一个为假),则代码将被执行。
第二个条件
if(data1 != true || data2 != true)
{
// do something
}
它将与第一个条件相反。首先,它将检查data1是否不等于true,所以如果data1为false,则代码将被执行。