for文が実行される仕組み
前回はfor文の書き方について説明しましたが、今回はそのfor文が実行される仕組みを解説したいと思います。
for文が実行される仕組み 目次
1.for文の書き方おさらい
for文の書き方をもう一度おさらいします。
for (int i = 0; i < 回数; i++){
繰り返し実行したい処理
}
先頭のforは決まり事で、後ろを()で括ります。その後ろに{}で括っています。最初の()の中では、繰り返す回数を指定する箇所です。後ろの{}の中では、繰り返し実行する処理を記述します。
()の中で指定された回数分、後ろの{}の中に記述された処理が繰り返されます。つまり、後ろの{}の中には1回分の処理しか記述しません。
2.カウンタ変数とは
()の中でセミコロンで区切られた構文の中で最初に出てくる構文は、カウンタ変数の宣言と初期化です。カウンタ変数とは、回数を記憶しておく為の変数のことですが、型や名前に決まりはありません。ですが、一般的にint型で名称をiを使用します。また、初期化する値も0である必要はありませんが、一般的には0で初期化します。
よく交通量調査でカチカチ押していますが、あれと同じような感じで、要するに数をカウントしています。カウンタ変数を0から初めて、処理を一回実行する毎に1つカウントアップさせ、5になったら終了という制御をしているので、処理が5回繰り返されることになります。
3.継続条件の記述
()の2つめの構文では、この繰り返し処理が実行される継続条件を指定しています。回数のところはプログラマが指定しますが、今回は5となりますので、カウンタ変数iが5よりも小さい間繰り返す、ということになります。
なお、この継続条件は、処理が実行される前に判定されますので、もしここを「i < 0」とした場合、処理が一回も実行されないことになります。
これは大丈夫ですよね。繰り返し実行したい処理を1回分だけ記述します。
4.カウンタ変数の増減値を指定
カウンタ変数は、初期化した値から始まりますが、処理を一回実行する毎にカウントアップする必要があります。for文の()の中の最後の構文では、このカウンタ変数のカウントアップ量を指定します。通常はインクリメント(1増やす)ですが、2増やしたり、逆にマイナスしたりすることも可能です。
5.for文が実行される仕組み
ここまでは前置きです。それでは、実際にfor文が実行される仕組みを解説します。
package pac01; public class HelloWorld { public static void main(String[] args) { for(int i = 0; i < 5; i++){ // 文字列を表示する System.out.println("こんにちは!"); } } } ------------------------------------------------------------ こんにちは! こんにちは! こんにちは! こんにちは! こんにちは!
これをフローチャートにすると次の様になります。
オレンジの部分は一回しか実行されません。for文が開始されたら、まずはカウンタ変数iの初期化がされます。そして処理の実行の前にまず継続条件の判定がされて、条件に該当するなら(true)処理の実行がされて、カウンタ変数の増減がされます。
その次は、また継続条件の判定を行い、trueであれば処理が実行され、カウンタ変数が増減されます。そして継続条件がfalseになった時は、for文が終了することになります。
これを一つ一つ列挙すると次の様になります。まず最初はiの値は0から始まります。
- i=0の為、継続条件i<5はtrueとなり、処理が実行される。(1回目)実行後iの値は1になる。
- i=1の為、継続条件i<5はtrueとなり、処理が実行される。(2回目)実行後iの値は2になる。
- i=2の為、継続条件i<5はtrueとなり、処理が実行される。(3回目)実行後iの値は3になる。
- i=3の為、継続条件i<5はtrueとなり、処理が実行される。(4回目)実行後iの値は4になる。
- i=4の為、継続条件i<5はtrueとなり、処理が実行される。(5回目)実行後iの値は5になる。
- i=5の為、継続条件i<5はfalseとなり、処理が実行されず終了する。iの値は5のまま。
最近のコメント