public class NestedForLoopExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
// 外側のループ: 1から10までの整数
for (int j = 1; j <= 1; j++) {
// 内側のループ: 各整数に対する処理
// 奇数の場合は表示をスキップ
if (i % 2 != 0 || j % 2 != 0) {
// continue文を使用して奇数の場合の処理をスキップ
continue;
}
// 偶数の場合は数値を表示
System.out.println(i);
}
}
}
}
このプログラムでは、外側のループでi
かjが奇数の場合、内側のループがスキップされるようになっています。その結果、奇数の場合は表示をスキップして次の数に進みます。
深いループネストからのbreakとcontinue
深いループネストからの break と continue の使用について解説します。
- break の利用例:
break文は、ループを終了させるために使用されます。深いネストの中で条件が満たされた場合、最も内側のループから抜け出すことができます。
例えば、以下は深いネストからのbreakを使用した例です。
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (i * j == 12) {
System.out.println("条件が満たされました。");
break; // 最も内側のループを終了させる
}
}
}
このコードでは、i * j == 12
の条件が満たされた場合、break;
により最も内側のfor
ループが終了します。このように、ラベルを使用せずにbreak
文を利用することも可能です。
- continue の利用例:
continue文は、その時点でのイテレーションをスキップして、次のイテレーションに進むために使用されます。
例えば、以下は深いネストからのcontinueを使用した例です。
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (i * j % 2 == 0) {
continue; // 偶数の場合、次のイテレーションに進む
}
System.out.println("奇数: " + i * j);
}
}
上記の例では、i * j が偶数の場合、continue;によりその時点の内側のforループをスキップして次のイテレーションに進みます。