繰り返しを作る『for文』【ゼロから始めるJavaの基礎~その20~】
前回までは、プログラムの中で条件によって処理内容を変えるための分岐構造を実装するための構文として、『if文』と『switch文』というものをご紹介してきました。
これらの分岐構造とならんでプログラムの中で頻繁に使用されるのが、繰り返しを行うための構造です。
繰り返しを行えるようになると、とある処理を『単純に〇〇回繰り返す』だったり、『〇〇回、何かしらの変化や処理を加えながら繰り返す』といった処理を実装出来るようになります。
このような構造を『反復構造』と呼んだりすることもあります。
反復構造を実装するための構文にはいくつか種類がありますが、今回は『for文』という構文からご紹介していきます。
『for文』を使う場合と使わない場合
単純な繰り返しであれば『for文』を使わなくても、実現することは可能ですよね?
コピペすればいいんです(笑)
ただ、繰り返しを実装する場合は繰り返しの構文を使用した方が圧倒的にスッキリと分かりやすくコードを書くことが出来ます。
コンソールに文字列を10回出力する処理を例に違いを見てみましょう。
【サンプル】
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
System.out.println("文字列を繰り返し表示する");
実行結果
次に『for文』を使って同じ処理を実装した場合のサンプルです。
【サンプル】
for(int i = 0; i < 10; i++) {
System.out.println("文字列を繰り返し表示する");
}
実行結果
いかがでしょうか?
今はまだ見慣れない『for文』という物への拒否反応から、「コピペの方が分かりやすいよ!!」と思っている方もいるかも知れませんが、行数だけで比較したら『for文』の方が少なくてシンプルですよね。
これが100回の繰り返しになった場合、コピペだと99回操作をしないといけなくなりますが、『for文』の場合はサンプルと同じ行数で実装可能です。
今はまだイメージが湧きづらいかもしれませんが、繰り返しの中で関連する数値を増減させたり、処理内容を少しづつ変化させる処理を実装する場合、コピペだと非常に手間のかかるコーディングになりますが繰り返しの構文を使うと、これまたシンプルに記述することが出来ます。
繰り返しの構造はプログラムを作る上では必須とも言える構造ですので、実装の方法を身に着けておきましょう!
for文の構造と書き方
それでは『for文』の構造と、書き方のご紹介に入っていきます。
for (カウンタ変数; 条件式; 変化式) {
繰り返し行いたい処理;
}
『for文』はその名の通り『for』というキーワードからスタートします。
『for()』のカッコの中には『カウンタ変数』、『条件式』、『変化式』を記述します。それぞれどのような書き方をするのかを見ていきましょう。
1、カウンタ変数
名前は『カウンタ変数(ループカウンタ)』という名前がついていますが、機能は変数と変わりません。
『何回目の繰り返しであるかを保存しておく変数』をここで定義します。
慣例的に変数名には『i(小文字のアイ)』が用いられ、『int i = 0;』と記述される場合が多いです。
ここで記述した処理は、繰り返しの処理に入る直前に一度だけ実行されます。
2、条件式
この部分には『{ }』の中に記述されている処理を実行するか、実行しないかの判定を行う条件を記述します。
繰り返しのたびに、毎回判定が行われます。
『i < 10』のようにカウンタ変数の大きさによって判定を行う場合が多いです。
3、変化式
この部分に記述した処理は、『{ }』に記述された処理が実行された直後に実行されます。
カウンタ変数の値を増減させることを目的としており、慣例的にインクリメントやデクリメントを用いて『i++』のように記述される場合が多いです。