011-Javaの基本-二重for文【新人エンジニアが最初に覚えたい100のJava文法】

ユーチューブ動画

二重for文について解説します。

ソースコード

public class ExampleDoubleLoop {
	public static void main(String[] args) {
		for(int i = 0; i < 5; i++){
			for(int j = 0; j <= i; j++){
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

解説

二重for文について解説します。

二重for文とは、for文の処理の中に、さらにfor文を記述するように、

繰り返し構造の中で、さらに繰り返し処理を行う構造のことです。

(例えば、九九の中には1の段の繰り返しがあり、さらに2の段、3の段という繰り返しがありますね)

多重ループともいいます。

この構造を使うことで、さらに複雑な繰り返しを作ることができます。

サンプルコードでは、*の記号を使って、模様を描いています。

*の記号を出力しなさいという命令をたくさん並べれば、もちろん出力することはできますが、

1つの命令を使い回して、出力するにはどうしたらよいでしょうか。

まず、外側のfor文から確認しましょう。

初期値がint i=0、継続条件がi<5、増減値がi++ですから、

変数iが0から始まって、iが4になるまで繰り返すという意味になります。

つまり5回繰り返します。

System.out.printlnのカッコの中に何もありません。これは出力せずに改行のみ行うことになります。

よって、5回改行することになります。

内側のfor文を確認しましょう。初期値はint j=0ですが、継続条件に注目すると、j<=iと

なっています。外側のiによって、内側の継続条件が変わるところがポイントです。

外側のiが0のときには、内側のjは0から始まり、0まで、つまり1回だけ、

外側のiが1のときには、内側のjは0から始まり、1まで、つまり2回繰り返す

といった形になります。

すると、*を1回出力して、改行する。

*を2回出力して、改行する。

*を3回出力して、改行する。

*を4回出力して、改行する。

といった形で模様を描くことができます。

多重ループを攻略するポイントは、変数がどのように変化するかをつかむことです。

ぜひ紙に書き出して、変数の変化を追うようにしましょう。

以上、二重for文について解説しました。

このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。