Table of Contents
前回は、if文やswitch文を使った条件分岐について紹介しました。
今回は、同じ処理を何度も実行する場合に便利な処理について紹介します。
forループ
同じ処理を何度も行いたいときはループ文を使います。
ループ文の一つである for文 は同じ処理を繰り返し行うときに便利な命令です。
for (ループカウントに使う変数の設定; ループを実行するかどうかboolean値; ループカウントの更新) { // ここに繰り返し行いたい処理 }
for文は少し複雑な文法で、文章だけではその動作がわかりにくいので、具体例を挙げて説明します。
例えば、ある処理を5回繰り返し実行させたいときは、以下のように書きます。
for (int i = 0; i < 5; i = i + 1) { // ここは5回繰り返される System.out.println("ループ"); }
forの括弧の中に書かれる3つの要素について詳しく説明します。
ループカウントに使う変数の設定
指定した回数だけ繰り返しをしたい場合はループカウントを使います。
ループカウントはint型の変数で、任意の名前を付けられますが、変数名を i とする場合が多いです。
ループカウントの初期値は自由に設定できます。例えば、初期値を2にする場合は以下のように書きます。
for (int i = 2; i < 5; i = i + 1) { // ここは(5 - 2)回繰り返される System.out.println("ループ"); }
ループを実行するかどうかboolean値
この部分が true のときブロック内の処理が実行されます。基本的には比較式が入ります。
この例では i の値が 5 未満であれば true となり、ブロック内に書いた処理(この例では “ループ” という文字列を表示する)を実行します。
ループカウントの更新
ループの処理が実行された後にループカウント i の値を増加または減少させます。
これによって更新された i の値が、ループの処理後に「ループを実行するかどうかboolean値」の部分によって判定され、ループを実行するかが決定されます。
ループカウントの更新には、以下のようにインクリメント(またはデクリメント)がよく使われます。
for (int i = 0; i < 5; i++) { // ここは5回繰り返される System.out.println("ループ"); }
for文を使ったサンプルプログラム
実際にfor文を使ったプログラムを作って、動作を確認してみましょう。
public class Test { public static void main(String args[]) { System.out.print("繰り返す回数を入力してください: "); Scanner scan = new Scanner(System.in); int maxCount = scan.nextInt(); scan.close(); // 1 から始まるループカウント // 変数 i の値が、入力された値以下であればループする // 処理後 i に 1 を加える for (int i = 1; i <= maxCount; i++) { System.out.println(i + "回目の処理です"); } } }
実行結果は以下のようになります。
ループ処理を実行するたびに「ループカウントの更新」の部分が実行され、i の値が 1 増えているのがわかります。
ピンバック: [Java] 同じ処理を繰り返すwhileループの書き方 | JoyPlotドキュメント