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
ステートメントのソリューションを作成できます。 ルールは、分岐ステートメントの直後にコードを置かないことです。
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook