HOWTO · Java
Java で到達不能ステートメント エラーを解決する
このチュートリアルでは、Java での到達不能ステートメント エラーについて説明します。
このチュートリアルでは、Java の unreachable statement エラーについて説明します。
Java での unreachable statement エラーの原因
unreachable statement エラーは、分岐制御フロー ステートメントの後にステートメントを配置しようとすると発生します。 分岐ステートメントには、コードの別の部分にジャンプするために使用される break、continue、および return が含まれます。
これらのステートメントは通常、ループを中断したり、反復をスキップしたり、値を返したりするためにループに含まれます。 これらの分岐ステートメントの直後にコード ステートメントを配置すると、コンパイル エラー unreachable statement がスローされます。
以下は、break、continue、および 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 ステートメントのソリューションを作成できます。 ルールは、分岐ステートメントの直後にコードを置かないことです。