HOWTO · Java

Java で到達不能ステートメント エラーを解決する

このチュートリアルでは、Java での到達不能ステートメント エラーについて説明します。

このチュートリアルでは、Java の unreachable statement エラーについて説明します。

Java での unreachable statement エラーの原因

unreachable statement エラーは、分岐制御フロー ステートメントの後にステートメントを配置しようとすると発生します。 分岐ステートメントには、コードの別の部分にジャンプするために使用される breakcontinue、および return が含まれます。

これらのステートメントは通常、ループを中断したり、反復をスキップしたり、値を返したりするためにループに含まれます。 これらの分岐ステートメントの直後にコード ステートメントを配置すると、コンパイル エラー unreachable statement がスローされます。

以下は、breakcontinue、および return ステートメントを使用したエラー unreachable statement の例です。

break の使用:

package delftstack;

public class Unreachable_Statement {
  public static void main(String... args) {
    int[] DemoArray = {350, 780, 300, 500, 120, 1024, 1350};

    int DemoNumber = 1024;

    for (int INTEGER : DemoArray) {
      if (INTEGER == DemoNumber) {
        break;
        System.out.println("The number is: " + DemoNumber);
      }
    }
  }
}

この出力は次のとおりです。

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    Unreachable code

    at delftstack.Unreachable_Statement.main(Unreachable_Statement.java:12)

続行 の使用:

package delftstack;

public class Unreachable_Statement {
  public static void main(String... args) {
    int[] DemoArray = {350, 780, 300, 500, 120, 1024, 1350};

    int DemoNumber = 1024;

    for (int INTEGER : DemoArray) {
      if (INTEGER == DemoNumber) {
        continue;
        System.out.println("The number is: " + DemoNumber);
      }
    }
  }
}

この出力も同じになります。

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    Unreachable code

    at delftstack.Unreachable_Statement.main(Unreachable_Statement.java:12)

return の使用:

package delftstack;

public class Unreachable_Statement {
  public static void main(String... args) {
    int[] DemoArray = {350, 780, 300, 500, 120, 1024, 1350};

    int DemoNumber = 1024;

    for (int INTEGER : DemoArray) {
      if (INTEGER == DemoNumber) {
        return;
        System.out.println("The number is: " + DemoNumber);
      }
    }
  }
}

出力は次のとおりです。

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    Unreachable code

    at delftstack.Unreachable_Statement.main(Unreachable_Statement.java:12)

Java で unreachable statement エラーを解決する

解決策は、分岐ステートメントの直後にコードを書かないようにすることです。 break ステートメントを使用して発生したエラーのコード ソリューションを参照してください。

package delftstack;

public class Unreachable_Statement {
  public static void main(String... args) {
    int[] DemoArray = {350, 780, 300, 500, 120, 1024, 1350};

    int DemoNumber = 500;
    boolean FoundNumber = false;
    for (int INTEGER : DemoArray) {
      if (INTEGER == DemoNumber) {
        FoundNumber = true;
        break;
      }
    }
    if (FoundNumber) {
      System.out.println("The number is: " + DemoNumber);
    }
  }
}

ステートメントを別の if 条件に入れました。 コードが正しく動作するようになりました。

出力を参照してください:

The number is: 500

同様に、continue および return ステートメントのソリューションを作成できます。 ルールは、分岐ステートメントの直後にコードを置かないことです。