非void java函数中的“返回a | b | c”是什么意思?

非void java函数中的“返回a | b | c”是什么意思?,java,android,android-studio,Java,Android,Android Studio,我是java新手,对非void java函数返回中的函数“|”有点困惑 private int donUnderstand() { return 1 | 2 | 3 | 4; //return 7, where is 7 come from? } 上面的函数将返回7,但我不知道7从何而来。我需要一些解释。“|”字符在该函数中的真正含义是什么。 在您的示例中,它将1、2、3和4相加。它们的二进制表示分别为0001、0010、0011和0100。这将导致0111,这是7的二进制表示 |是按

我是java新手,对非void java函数返回中的函数“|”有点困惑

private int donUnderstand() {
    return 1 | 2 | 3 | 4; //return 7, where is 7 come from?
}
上面的函数将返回7,但我不知道7从何而来。我需要一些解释。“|”字符在该函数中的真正含义是什么。 在您的示例中,它将1、2、3和4相加。它们的二进制表示分别为0001、0010、0011和0100。这将导致0111,这是7的二进制表示


|是按位OR运算符。也就是说,它将对数字的每一位执行OR运算并返回结果。 例如:

a = 5 = 0101 (In Binary)

b = 7 = 0111 (In Binary)

Bitwise OR Operation of 5 and 7

 0101

| 0111
 ________
  0111  = 7 (In decimal) 

这里有更多信息:

不用担心,我也没有从中得到任何好处,只是觉得这样会更有意义谢谢你的帮助,尝试重新应用你的编辑并使其与我的工作它是按位的,或者我真的希望这不是在实际应用中找到的方法。。。
a = 5 = 0101 (In Binary)

b = 7 = 0111 (In Binary)

Bitwise OR Operation of 5 and 7

 0101

| 0111
 ________
  0111  = 7 (In decimal)