int i=9;
System.out.println(--i + ++i);
実行時の出力:17
iの最終値は:9
しかし、javaの結合性と優先順位の規則によれば、++ iは最初に実行する必要があります。つまり、右から左に10を与え、次に--iは9を与えます。両方を追加すると、答えは19になります。私はそのようなコードがC/C ++で未定義の動作を与えることを知っていますが、Javaでは、ルールは厳密に定義されており、シーケンスポイントの概念はありません。だから、iamがこれについて本当に混乱しているので、誰かが問題を明確にすることができますか?また、いくつかの本では、ポストインクリメントおよびポストデクリメント演算子はLTR結合法則であると言及されていました。しかし、他のいくつかの本では、すべてのインクリメントとデクリメント(ポストとプレの両方)がRTLに関連付けられています.. !! 誰かがJavaの正しい演算子の優先順位と結合性の表を与えることができますか?