“| =”在Java中意味着什么?

注意我的问题不是关于!=但是|=

一个用法示例在这里

我假设x |= yx = 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规范