3

私の質問はに関するものではないことに注意してください!=|=

使用例はこちら

x |= y同じx = x | yだと思いますが、確認書類が見つからず、確認したかったのですが

ありがとう

4

4 に答える 4

7

これはビット単位の「または」と割り当てであるため、仮定は非常に正しいです。

于 2010-08-06T04:06:59.660 に答える
4

はい、それは少し包括的または割り当てです:http: //www.cafeaulait.org/course/week2/03.html

于 2010-08-06T04:14:33.690 に答える
3

より正確には、x |=yは実際にはx=x|として計算されます。(y)。

これが重要である理由の興味深い例を次に示します。

int c = 2;
c %= c++ * ++c;

ここでの興味深い結果は、次のように記述されることです。

c = c % (c++ * ++c);

Javaの仕様によると、JVMは最初に最初のcを確認して保存します。その前にあるものは影響を与えないため、c++および++cは実際には計算の結果に影響を与えません。常にc=2%になります。これは2に相当します:)

于 2010-08-06T09:44:10.367 に答える
2

Java言語仕様を読むことができます

于 2010-08-06T04:10:19.277 に答える