public class MultiplicationTable {
public static void main(String[] args) {
// ネストされたfor文を使用して九九の表を表示
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
// 掛け算の結果を表示
System.out.print(i * j + "\t");
}
// 1つの行を表示したら改行する
System.out.println();
}
}
}
このプログラムは、外側のfor文で変数i
を1から9まで増加させ、内側のfor文で変数j
を1から9まで増加させています。各九九の計算結果をSystem.out.print(i * j + "\t");
で表示し、1つの行が終わるごとにSystem.out.println();
で改行しています。"\t"
はタブ文字で、列を整列させるために使用しています。
for文のネスト
「for文のネスト」は、1つのfor文の中に別のfor文がネスト(巣立て)される構造を指します。これは、複雑な制御構造やパターンを生成するのに役立ちます。以下は、for文のネストに関する基本的な解説です。
ネストされたfor文の基本構造:
for (初期化式1; 条件式1; 更新式1) {
// 外側のループのブロック
for (初期化式2; 条件式2; 更新式2) {
// 内側のループのブロック
// ネストされたfor文の中で行いたい処理
}
}
- 外側のループ (
for (初期化式1; 条件式1; 更新式1) { ... }
): 外側のfor文は、内側のfor文を囲む役割を担います。外側のループが1回実行されるごとに、内側のループが複数回実行されます。 - 内側のループ (
for (初期化式2; 条件式2; 更新式2) { ... }
): 内側のfor文は、外側のループの1回の実行に対して複数回実行されます。外側のループが進むごとに内側のループがリセットされます。 - ネストされたfor文の中で行いたい処理:
- ネストされたfor文の中で、外側のループ変数や内側のループ変数を使用して処理を行います。外側のループ変数は外側のfor文で、内側のループ変数は内側のfor文で使用されます。
例: 九九の表を表示するプログラム
public class MultiplicationTable {
public static void main(String[] args) {
// ネストされたfor文を使用して九九の表を表示
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
// 掛け算の結果を表示
System.out.print(i * j + "\t");
}
// 1つの行を表示したら改行する
System.out.println();
}
}
}
このプログラムでは、外側のfor文が1から9までのi
を取り、内側のfor文が1から9までのj
を取ります。各九九の計算結果をSystem.out.print(i * j + "\t");
で表示し、1つの行が終わるごとにSystem.out.println();
で改行しています。