public class TripleLoopExample {
public static void main(String[] args) {
outerLoop:
for (int i = 1; i <= 20; i++) {
// 外側のループ: 1から20までの整数
for (int j = 1; j <= 20; j++) {
// 中間のループ: 1から20までの整数
for (int k = 1; k <= 20; k++) {
// 内側のループ: 1から20までの整数
// 条件に合致する場合、break文を使用して全てのループを終了させる
if (i % 5 == 0 && j % 3 == 0 && k % 2 == 0) {
break outerLoop;
}
// 条件に合致しない場合の処理(例えば、表示など)
System.out.println("i: " + i + ", j: " + j + ", k: " + k);
}
}
}
}
}
このプログラムでは、外側のループ(i
)、中間のループ(j
)、内側のループ(k
)が条件に合致した場合、break outerLoop;
により全てのループが終了します。指定された条件が満たされた場合に break
文を使用する際に、外側のループにラベル(outerLoop
)を指定することで、最も外側のループが終了するようになります。
break文やcontinue文でラベルを使う
Javaのbreak
とcontinue
文には、ラベル(label)を使って、特定の外側のループから抜けたり、指定のループをスキップする機能があります。ラベルを使うことで、ネストされた複数のループがある場合に、特定のループに対して break
や continue
を行うことができます。
以下は、ラベルを使った break
と continue
の基本的な構文です。
outerLabel:
for (int i = 0; i < 5; i++) {
innerLabel:
for (int j = 0; j < 5; j++) {
// 何らかの処理
if (条件) {
// 外側のループを終了
break outerLabel;
// 内側のループをスキップして次のイテレーションへ
// continue outerLabel;
}
}
}
ここで outerLabel
と innerLabel
はユーザーが指定するラベルの名前です。break
文により指定したラベルに対応するループが終了し、continue
文により指定したラベルに対応するループがスキップされ、次のイテレーションが開始されます。
ただし、break
や continue
をラベルを使って使うことは一般的には避けるべきです。コードの可読性が低下しやすくなりますので、注意が必要です。通常、適切な条件文を使って、ネストされたループを抜けるかスキップするほうが好ましいです。