Java でネストされたループを解除する

Mohammad Irfan 2023年10月12日
  1. Java で break ステートメントを使用して内部ループを解除する
  2. Java でラベル付きの break ステートメントを使用してネストされたループを解除する
  3. Java で break ステートメントを使用してネストされたループを解除する
  4. Java で flag 変数を使用してネストされたループを解除する
  5. Java で return ステートメントを使用してネストされたループを解除する
Java でネストされたループを解除する

このチュートリアルでは、Java でネストされたループを分割する方法を紹介します。ガイドとして従うことができるいくつかのサンプルプログラムが含まれています。

ループは、指定された条件に応じて、任意のコードステートメントをいつでも繰り返すことができる手法です。Java は、while ループ、do-while ループ、for ループ、for-each ループなどのいくつかのタイプのループをサポートしています。これらのループをネストすることもできます。

この記事では、Java でネストされたループを分割する方法を学習します。ネストされたループを解除するには、いくつかの方法があります。これらには、break および return ステートメントの使用が含まれます。詳細については、以下をお読みください。

Java で break ステートメントを使用して内部ループを解除する

ループを分割したい場合は、break ステートメントを使用できます。このステートメントは、内側のループに適用した場合にのみ、内側のループを壊します。これがあなたがそれをすることができる方法です:

public class SimpleTesting {
  public static void main(String[] args) {
    for (int i = 0; i < 5; i++) {
      for (int j = 0; j < 5; j++) {
        System.out.println(j);
        if (i == 2) {
          System.out.println("loop break");
          break;
        }
      }
      System.out.println();
    }
  }
}

出力:

0
1
2
3
4

0
1
2
3
4

0
loop break

0
1
2
3
4

0
1
2
3
4

Java でラベル付きの break ステートメントを使用してネストされたループを解除する

内側と外側の両方のすべてのループを解除する場合は、break ステートメントを含むラベルを使用して、すべてのループを切り取り、制御を外側のループに移動できます。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
  out:
    for (int i = 0; i < 5; i++) {
      for (int j = 0; j < 5; j++) {
        System.out.println(j);
        if (i == 2) {
          System.out.println("loop break");
          break out;
        }
      }
      System.out.println();
    }
  }
}

出力:

0
1
2
3
4

0
1
2
3
4

0
loop break

Java で break ステートメントを使用してネストされたループを解除する

ループは whilefor、または for-each タイプであり、これらのループのいずれかで break ステートメントを使用できます。この例では、while ループを使用し、break ステートメントを使用してそのフローを中断しています。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int i = 0;
  out:
    while (i < 5) {
      int j = 0;
      while (j < 5) {
        System.out.println(j);
        if (i == 2) {
          System.out.println("loop break");
          break out;
        }
        j++;
      }
      System.out.println();
      i++;
    }
  }
}

出力:

0
1
2
3
4

0
1
2
3
4

0
loop break

Java で flag 変数を使用してネストされたループを解除する

このメソッドは、ループ条件で変数を使用している別のシナリオを導入します。条件が満たされると、ループが発生します。このコードは、break ステートメントを使用したくない場合に適しています。このプロセスは、コードを読みやすくするため、優れています。以下のコードブロックに従ってください。

public class SimpleTesting {
  public static void main(String[] args) {
    boolean flag = false;
    for (int i = 0; i < 5 && !flag; i++) {
      System.out.println(i);
      if (i == 3) {
        System.out.println("loop break");
        flag = true;
      }
    }
  }
}

出力:

0
1
2
3
loop break

Java で return ステートメントを使用してネストされたループを解除する

Java の return ステートメントは、呼び出し元のメソッドに応答を返すために使用されます。ループ内で return ステートメントを使用して、それを中断できます。これは break ステートメントの代替ですが、特定のシナリオでのみ機能します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    boolean isStop = iterate();
    if (isStop)
      System.out.println("Loop stop");
    else
      System.out.println("Loop not stop");
  }
  static boolean iterate() {
    for (int i = 0; i < 5; i++) {
      for (int j = 0; j < 5; j++) {
        System.out.println(j);
        if (i == 2) {
          return true;
        }
      }
      System.out.println();
    }
    return false;
  }
}

出力:

0
1
2
3
4

0
1
2
3
4

0
Loop stop

関連記事 - Java Loop