以下に示す単純な Java 式があります。Operator Precedence tableに基づいて、この式は 0 による除算の例外を返し (後置インクリメント演算子の優先順位が最も高いため)、結果の式が次のようになると予想します。
2 + 2 + 5 / 0
しかし、結果は 7 です。なぜですか? (少し実験したところ、何らかの理由ですべての演算子に値 1 が割り当てられていることがわかりましたが、優先度テーブルが正しい場合、これは意味がありません)
int intCountOperator = 0;
unaryOperand = ++intCountOperator + intCountOperator + 5 / intCountOperator++;
System.out.println(unaryOperand); // Prints 7