non void java函数中的“ return a | b | c”是什么意思?

-4 java android android-studio

我是java的新手,但对函数'|'有点困惑 在非void Java函数中返回

private int donUnderstand() {
    return 1 | 2 | 3 | 4; //return 7, where is 7 come from?
}
Run Code Online (Sandbox Code Playgroud)

上面的函数将返回7,但我不知道7的来源。我需要一些解释。什么是“ |” 角色真的意味着那个功能?

pap*_*e96 6

|Java中按位OR运算符。在你的榜样,它ORS在一起 1234。他们的二进制表示为0001001000110100分别。结果为0111,它是的二进制表示形式7

1 == 0001
2 == 0010
3 == 0011
4 == 0100
----------- OR
7 == 0111
Run Code Online (Sandbox Code Playgroud)