鉴于b是一个布尔变量,表达式(!b)和(b == false)是一样的吗?
到目前为止,我还有这个问题:
!b - 如果b为真,则返回[FALSE响应]或如果是,则返回[TRUE响应 b是假的。
在这种情况下,声明一个布尔变量'b'会将其设置为 是的,因此制作!b返回false。
我想我需要完成的问题是知道b是否最初是真的,我认为它是什么?
希望这有道理,有人可以为我解决这个问题吗?
编辑: 这是我的导师提出的问题。我被要求决定这个陈述是真是假: “表达式(!b)和(b == false)是等价的,其中b是布尔变量”
当我寻求帮助时,这里有极其有用的神秘线索:
使用!b的情况是这些表达式应该为b的所有值提供相同的结果,以使语句正确。即如果b为假,则两个表达式给出相同的结果,如果b为真,则两个表达式给出相同的结果。你需要看看这两个表达式。
答案 0 :(得分:5)
是的,但使用!b
而非b == false
答案 1 :(得分:3)
是的,它们在“理智”语言中是等效的:-)(假设 Java ,C ++,C#)
如果b
只能是true
或false
,那么在Javascript中,这是正确的(但请注意!if (!null)
为真,if (null == false)
为假。同样适用于undefined
)
请注意,并非所有语言都使用!
NOT
而==
使用EQUALS
。例如,在C中你可能会使用int
代替bool
和FALSE
而不是false
,但结果会相同(但请注意,在C中,非零是“真”)