1. ホーム
  2. java

[解決済み] Javaでポストインクリメント(i++)とプリインクリメント(++i)演算子はどのように動作するのでしょうか?

2022-01-31 13:14:13

質問

このJavaコードの出力を説明してもらえますか?

int a=5,i;

i=++a + ++a + a++;
i=a++ + ++a + ++a;
a=++a + ++a + a++;

System.out.println(a);
System.out.println(i);

出力はどちらも20

解決方法は?

これは役に立ちますか?

a = 5;
i=++a + ++a + a++; =>
i=6 + 7 + 7; (a=8)

a = 5;
i=a++ + ++a + ++a; =>
i=5 + 7 + 8; (a=8)

主なポイントは ++a は値をインクリメントしてすぐにそれを返します。

a++ も(バックグラウンドで)値をインクリメントしますが、変数の値は変更せずに返します - 見た目は後で実行されます。