位操作语法问题Java

时间:2011-03-15 06:09:29

标签: java

checker |= (1 << val);

| =做什么?

1&lt;&lt; val将位移到左侧,这会增加值。

2 个答案:

答案 0 :(得分:5)

checker = checker | (1 << val)相同,就像checker += valchecker = checker + val相同。

|表示逻辑OR,即如果任一源值设置了一个,它将在目标中设置。

答案 1 :(得分:5)

此代码相当于

checker = checker | (1 <&lt;&lt; val)

这里,|是按位OR运算符,它接收两个数字并返回一个新数字,其中1位设置在输入数字设置为1位的任何位置。您看到的|=是“按位分配或分配”,类似于+=*=,但|