本篇文章介绍了 Java 中的 unreachable statement 错误。
Java中出现 unreachable statement 错误的原因
当我们尝试在分支控制流语句之后放置语句时,会发生不可到达语句错误。 分支语句包括 break、continue 和 return,它们用于跳转到代码的不同部分。
这些语句通常包含在循环中以中断循环、跳过迭代或返回值。 当我们将代码语句紧跟在这些分支语句之后时,它会抛出编译错误 unreachable statements。
以下是使用 break、continue 和 return 语句的错误 unreachable statements 的示例:
使用 break
:
package jiyik;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 codeat jiyik.Unreachable_Statement.main(Unreachable_Statement.java:12)
使用 continue
:
package jiyik;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 codeat jiyik.Unreachable_Statement.main(Unreachable_Statement.java:12)
使用 return
:
package jiyik;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 codeat jiyik.Unreachable_Statement.main(Unreachable_Statement.java:12)
解决Java中的 unreachable statement 错误
解决方案是避免在分支语句之后立即编写任何代码。 请参阅使用break语句引发的错误的代码解决方案:
package jiyik;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
语句创建一个解决方案。 规则是不要在分支语句之后立即放置任何代码。