whileはシンプルな繰り返しですが、シンプル過ぎて、「繰り返しの条件をどう用意するか、繰り返すごとにどう操作していくか」といったこともすべてプログラマが自分で実装しなければいけません。これは結構面倒です。
そこで、繰り返しに関する細かな設定までも含めた構文が用意されています。それが「
for」文です。これは以下のような形で記述されます。
・for文の基本形for( 初期化処理 ; 条件 ; 後処理 )
{
……繰り返す処理……
}
forの()内では、2つのセミコロンにより区切られた3つの要素が記述されます。
for構文に進むと、まず最初に
()内の
初期化処理を実行し、それから
条件をチェックして
trueならばその後の
{}内を実行します。そして繰り返す部分を終えたら繰り返しの
後処理を実行し、再び繰り返しの最初に戻って条件をチェックし、
trueであればまた繰り返しへと進みます。これをひたすら繰り返していき、条件が
falseになったら、繰り返しを抜けて次へと進みます。
この3つの要素は、一般的には「
カウンタ変数」を利用数ために用いられます。カウンタ変数というのは、繰り返しの回数をカウントするための変数です。例として下のリスト欄に簡単なサンプルを挙げておきます。
ここでは、
forの初期化処理で
int i = 0;というように変数
iを初期化しています。そして条件として
i <= endで変数
iが
endと同じか小さいことを確認し、後処理では
i++で変数
iを1増やしています。
こうして、「変数
iを1増やしては
endより大きくなってないかチェックする」というのを繰り返していくのです。繰り返すごとに変数
iは1増えていきます。つまり、
iの値をチェックすれば、何回目の繰り返しかがわかります。これがカウンタ変数です。