HOWTO · Java

Java에서 도달할 수 없는 명령문 오류 해결

이 자습서는 Java의 도달할 수 없는 명령문 오류를 보여줍니다.

이 튜토리얼은 Java의 unreachable statement 오류를 보여줍니다.

Java에서 도달할 수 없는 문 오류의 원인

도달할 수 없는 문 오류는 제어 흐름 문을 분기한 후 문을 넣으려고 할 때 발생합니다. 분기문에는 코드의 다른 부분으로 점프하는 데 사용되는 break, continuereturn이 포함됩니다.

이러한 명령문은 일반적으로 루프를 중단하거나 반복을 건너뛰거나 값을 반환하기 위해 루프에 포함됩니다. 이러한 분기 문 바로 뒤에 코드 문을 넣으면 도달할 수 없는 문이라는 컴파일 오류가 발생합니다.

다음은 break, continuereturn 문을 사용하는 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)

반환 사용:

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에서 도달할 수 없는 문 오류 해결

해결 방법은 분기 문 바로 뒤에 코드를 작성하지 않는 것입니다. 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

마찬가지로 continuereturn 문에 대한 솔루션을 만들 수 있습니다. 규칙은 분기 문 바로 뒤에 코드를 넣지 않는 것입니다.