我找到了终止(关闭或停止)我的 Java 程序的方法。我找到了两种解决方案。
使用 return;
当我想退出或终止我的程序执行时,我添加了这个。使用 System.exit() ;
有时我用它。我从 this question 读到了 System.exit() .
所以,我对他们都略知一二。但我仍然对它们的实际工作方式感到困惑。请检查以下代码...
public class Testing {
public static void main(String... str) {
System.out.println(1);
System.exit(0);
System.out.println(2);
return;
}
}
我确定 2 不会出现。我想知道为什么 return;
或其他代码可以写在 System.exit(0);
的语句下面以及 return; 的真正定义是什么?
(因为我觉得很奇怪return
没有任何变量或值)?
最佳答案
调用 System.exit(0)
(或任何其他值)会导致 Java 虚拟机退出,终止当前进程。您传递的参数将是 java
进程将返回给操作系统的返回值。您可以从程序中的任何位置进行此调用 - 结果将始终相同 - JVM 终止。由于这只是调用 System
类中的静态方法,编译器不知道它将做什么 - 因此不会提示无法访问的代码。
return
语句只是中止当前方法的执行。它的字面意思是将控件返回给调用方法。如果该方法被声明为 void
(如您的示例中所示),那么您不需要指定值,因为您需要返回 void
。如果方法被声明为返回特定类型,那么您必须指定要返回的值 - 并且该值必须是指定的类型。
return
将导致程序仅在它位于正在执行的主类的 main
方法内时退出。如果你试图把代码放在它后面,编译器会报出无法访问的代码,例如:
public static void main(String... str) {
System.out.println(1);
return;
System.out.println(2);
System.exit(0);
}
不会用大多数编译器编译 - 产生指向第二个 System.out.println
调用的 unreachable code
错误。
关于java - 终止 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452930/