什么'int kk = 2 | 3;" 意思?

top*_*bec 3 java syntax operators

我已经在java编程了一段时间,但我没有遇到一个奇怪的表达

int kk = 2 | 3;
Run Code Online (Sandbox Code Playgroud)

'|'是什么 这个表达是什么意思?谷歌似乎很难.

我在源头遇到了它

i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)

为什么我们需要使用它?

Mic*_*rdt 8

这是一个按位或 - 如果其中一个或两个输入在该位置设置了位,则每个结果位都将置1.2是二进制10,3是11,所以结果也是3.