我已经在java编程了一段时间,但我没有遇到一个奇怪的表达
int kk = 2 | 3;
'|'是什么这个表达是什么意思?谷歌似乎很难。
我在源代码中遇到了它
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
为什么我们需要使用它?
答案 0 :(得分:8)
它是bitwise or - 如果其中一个或两个输入在该位置设置了位,则将设置每个结果位。 2是二进制10,3是11,所以结果也是3。
答案 1 :(得分:4)
答案 2 :(得分:2)
|是bitwise Operator。在你的情况下,2 | 3将产生3,因为2是10而3是11. 10 | 11 = 11
。
答案 3 :(得分:1)
您可以查看http://vipan.com/htdocs/bitwisehelp.html 我认为它们是关于位移操作符的非常好的教程