【发布时间】:2011-09-19 15:49:40
【问题描述】:
偶数 = 数字 % 2 == 0;
这是一个有效的 Java 作业,在网站中作为示例给出。
那么等式运算符在求值后是否返回布尔值?
就像在这种情况下,数字 % 2 == 0 ,如果为真,它分配 even = true?
【问题讨论】:
-
问问自己:还有什么意义吗?
-
@delnan:也许不是,但是有很多语言(C、C++)中的相等运算符产生一个整数。
-
@Keith:那是因为那些语言没有专用的布尔值(并且使用整数 0 和 1 代替它们,或者更一般地使用零和非零数字)。就此而言,至少其中一些语言保证比较产生 0 或 1。还有一个问题是 Java 不是这些语言之一......
-
@delnan:或多或少。 C(1999 年标准)和 C++ 都有专用的布尔类型,但它们派生自没有的语言。关键是您无法通过考虑是否有意义来确定“==”是否产生布尔值;你需要看看语言标准实际上是怎么说的。
-
谢谢大家... :) 我没有遇到过这种测试相等运算符并分配布尔值的语句 - 都是一行。所以有点迷茫。所有答案都很有用,而且很清楚。再次非常感谢。
标签: java equality operator-keyword