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タッチタイプゲームとして遊ぶことができます。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。