Java | インクリメント/デクリメントのよくあるバグパターン

Java Java
スポンサーリンク

では「前置と後置が交互に出てくるパターン」を一緒に追ってみましょう。

int a = 2;
int b = ++a + a++ + ++a;
System.out.println("a = " + a);
System.out.println("b = " + b);
Java

ステップごとの解説

初期値

a = 2

1つ目の ++a

  • 前置インクリメント
  • 先に +1 → a = 3
  • 使う値 = 3

2つ目の a++

  • 今の a = 3
  • 後置インクリメント
  • 使う値 = 3
  • その後 a = 4

3つ目の ++a

  • 今の a = 4
  • 前置インクリメント
  • 先に +1 → a = 5
  • 使う値 = 5

計算まとめ

b = (3) + (3) + (5) = 11

最終結果

a = 5
b = 11

ポイント整理

  • 前置と後置が交互に出てくると「どのタイミングで増えるか」を見失いやすい。
  • コツは「使う値」と「その後の a の値」を分けて考えること
  • 1つずつ紙に書き出すと混乱が減る。

💡 ここまででいろんなパターンを試しましたが、共通して言えるのは「式の中に ++ / -- を詰め込むとバグの温床になる」ということです。
実務では 必ず1行ずつ分けて書く のが鉄則です。

タイトルとURLをコピーしました