请注意,我的问题不是关于,!=
而是|=
使用示例在这里
我认为这x |= y
与x = x | y
但我找不到确认文件并想确定
谢谢
这是一个按位“或”加赋值,所以你的假设是完全正确的。
是的,这是一个按位包含或分配: http: //www.cafeaulait.org/course/week2/03.html
More correctly, x |= y is actually computed as x = x | (y).
Here is an interesting example of why this is important.
int c = 2;
c %= c++ * ++c;
The interesting consequence here is that it would be written as
c = c % (c++ * ++c);
Java specifications tell us that the JVM will see the initial c first and store it, anything preceding it will have no effect on it, thus c++ & ++c will not actually affect the outcome of the calculation. It will always be c = 2 % which equals 2 :)
您可以阅读Java 语言规范