Java の公式チュートリアルから、接頭辞と後置 ++ の優先順位が異なることを読みました。
接尾辞: expr++ expr--
単項: ++expr --expr +expr -expr ~ !
チュートリアルによると、これはすべきではありません
d = 1; System.out.println(d++ + ++d);
4 の代わりに6 ( d++
d を 2 にして 3 にする) を出力しますか?++d
++d
事前に評価されるという説明は知っていますが、d++
優先順位が高い場合++d
、なぜd++
最初に評価されないのですか? さらに、どのような場合にd++
優先度が高いことを示す必要がありますか?
編集:
私は次のことを試しました:
d = 1; System.out.println(++d * d++);
4 を返します。1*3 ではなく 2*2 のようです。