什么是 Java 中不可到达的代码块?
Java 中永远不会到达的代码块或语句,而且永远不会在程序的生命周期内执行,则称为不可达的代码块或语句。
一般来说,它发生在代码片段前有
- 一个 return 语句。
- 一个无限循环。
Java 不支持不可达的代码。如果您有任何此类语句(不可达的),Java 编译器会引发编译时错误。
示例 1
在以下 Java 程序中,类 UnreachableCodeExample 有一个名为 greet 的方法,它返回一个 String 值。在 return 语句之后,它有一个 print 语句。
public class UnreachableCodeExample {
public String greet() {
System.out.println("This is a greet method ");
return "Hello";
System.out.println("This is an unreachable code ");
}
public static void main(String args[]) {
new UnreachableCodeExample().greet();
}
}编译时错误
由于在 greet 方法中 println 方法调用之前我们有一个 return 语句,因此它是不可达的。如果您编译这个程序,它会生成以下编译时错误 −
输出
UnreachableCodeExample.java:5: error: unreachable statement
System.out.println("This is an unreachable code ");
^
UnreachableCodeExample.java:6: error: missing return statement
}
^
2 errors示例 2
在以下 Java 程序中,类 UnreachableCodeExample 有一个名为 greet 的方法,它有一个无限 while 循环,后跟一个 print 语句。
public class UnreachableCodeExample {
public void greet() {
System.out.println("This is a greet method ");
while(true){
}
System.out.println("This is an unreachable code ");
}
public static void main(String args[]) {
new UnreachableCodeExample().greet();
}
}编译时错误
由于在 greet 方法中 println 方法调用之前我们有一个无限循环,因此它是不可达的。如果您编译这个程序,它会生成以下编译时错误 −
UnreachableCodeExample.java:6: error: unreachable statement
System.out.println("This is an unreachable code ");
^
1 error
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP