Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表达式(!b)和(b==false)在Java中等效吗?_Java_Boolean_Logical Operators - Fatal编程技术网

表达式(!b)和(b==false)在Java中等效吗?

表达式(!b)和(b==false)在Java中等效吗?,java,boolean,logical-operators,Java,Boolean,Logical Operators,假设b是一个布尔变量,那么表达式(!b)和(b==false)是否相同 到目前为止,我的问题是: !!b——如果b为真,则返回[FALSE response],如果为真,则返回[true response] b是假的 在本例中,声明一个布尔变量“b”会将其设置为 真的,因此制造!b返回false 我想我要完成这个问题所需要的就是知道b最初是否为真,我假设它是真的 希望这是有意义的,有人能帮我澄清一下吗 编辑: 这是我的导师提出的问题。我被要求决定这句话是真是假: 表达式(!b)和(b==fa

假设b是一个布尔变量,那么表达式(!b)和(b==false)是否相同

到目前为止,我的问题是:

  • !!b——如果b为真,则返回[FALSE response],如果为真,则返回[true response] b是假的

  • 在本例中,声明一个布尔变量“b”会将其设置为 真的,因此制造!b返回false

我想我要完成这个问题所需要的就是知道b最初是否为真,我假设它是真的

希望这是有意义的,有人能帮我澄清一下吗

编辑: 这是我的导师提出的问题。我被要求决定这句话是真是假: 表达式(!b)和(b==false)是等价的,其中b是布尔变量

当我寻求帮助时,这里有一个非常有用的神秘线索:


情况如何!b是这些表达式应该为b的所有值提供相同的结果,以便语句正确。即如果b为false,则两个表达式给出相同的结果;如果b为true,则两个表达式给出相同的结果。你需要看看这两种表达方式

> P>是,在“理智”语言中它们是等价的:-(我们说<强> java >,C++,C**)

在Javascript中,if
b
只能是
true
false
,这是正确的(但要小心!
如果(!null)
为true,
如果(null==false)
为false。对于
未定义的
,也一样)


请注意,并非所有语言都使用
的代码>和
=
等于
。例如,在C中,您可能会使用
int
而不是
bool
FALSE
而不是
FALSE
,但结果是相同的(但请注意,在C中,非零是“true”)

是的,但是使用
的风格很好!b
而不是
b==false

取决于语言。它是哪种语言?人们发现它是Java。当我看到if(someBoolean==true)
时,我喜欢它。让我想杀人。谢谢你的回答。我要记住,我不想波希米亚人因为我的代码太差而谋杀我:)谢谢alot@Bohemian在
C
中,如果(someInt),它甚至可能成为bug的潜在来源
if(someInt==TRUE)
@xanatos这让我想起了我最喜欢的一个C表达式:
!!b
(以无分支的方式清理“布尔”值)。@xanatos这个问题和我的评论是关于java的,但这是关于C的一个有趣的观点