“| =”在Java中意味着什么?
注意我的问题不是关于!=
但是|=
一个用法示例在这里
我假设x |= y
与x = x | y
相同 但我找不到确认文件,并希望确定
谢谢
是的,这是一个包容性或分配: http : //www.cafeaulait.org/course/week2/03.html
这是一个按位“或”加号,所以你的假设是正确的。
更准确地说,x | = y实际上被计算为x = x | (Y)。
这是一个有趣的例子,说明为什么这很重要。
int c = 2; c %= c++ * ++c;
这里有趣的结果是它会写成
c = c % (c++ * ++c);
Java规范告诉我们JVM将首先看到初始c并存储它,它之前的任何内容都不会对它产生任何影响,因此c ++&++ c实际上不会影响计算的结果。 它总是c = 2%,等于2 🙂
您可以阅读Java Langauge规范