假布尔值=真?

2024-05-28

我在一本书中找到了这段代码,并在 Netbeans 中执行了它:

boolean b = false;
if(b = true) {
    System.out.println("true");
} else {
    System.out.println("false");
}

我只是不明白为什么这段代码的输出是正确的, 任何人都可以启发我吗, 谢谢。


它缺少双等号。因此,它执行的是赋值而不是相等比较(请记住,赋值的返回值是新值)。在大多数情况下,大多数类型都不是布尔值这一事实意味着结果不是布尔值,因此对于if语句,导致编译器错误。然而,由于这里的类型已经是布尔值,因此赋值结果是布尔值,因此安全检查失败。因此,b = true意思是b被赋值true这是返回并由if陈述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

假布尔值=真? 的相关文章

随机推荐