Java
C
C++
JavaScript
C#


概要

前置インクリメント演算子(++i)と後置インクリメント演算子(i++)はどちらもiにi+1の結果を代入する演算子ですが、その違いについてざっくりと説明します。


前置インクリメント(++i)

式の値としてインクリメント後、つまりi+1の値を返します。

i = 1;

j = ++i; // jは2


後置インクリメント(i++)

式の値としてインクリメント前、つまりiの値を返します。

i = 1;

j = i++; // jは1


補足

for (int i = 0; i < n; ++i)

for (int i = 0; i < n; i++)

どちらもよく見るforループですが、このように++i,i++が単独で現れ、式の値を使わない場合は動作に関して違いはありません。

また最近のコンパイラでは最適化によって実行速度にも違いがないため、好みの方を使えばいいと思います。