The JLS states that numeric promotion is applied to the operands of an arithmetic operator.
Numeric promotion is applied to the operands of an arithmetic operator. Numeric promotion contexts allow the use of: an identity conversion (§5.1.1) a widening primitive conversion (§5.1.2) an unboxing conversion (§5.1.8)
However, in my experience I found out that numeric promotion is also applied to the operands of other operators like bitwise operators. I found out this which states that
These conversions can occur when using the multiplicative operators (%, *, /), additive operators (+, -), comparison operators (<, >, <=, >=), equality operators (==, !=), and the integer bitwise operators (&, |, ^).
So am I missing something?
Edit: What about the other operators not listed like &&, ||, >>, <<, >>>, etc.?
Edit 2: As pointed out by @Turing85 and @Stephen C, this question is only valid for JLS 5 to 11 and has been resolved now.