我找到了终止(关闭或停止)我的 Java 程序的方法。我找到了两个解决方案。
-
using return;
当我想退出或终止我的程序执行时,我添加这个。
-
using 系统.exit() ;
有时我也用过它。我读到系统.exit() from 这个问题.
所以,我对他们两个都有一点了解。但我仍然对它们的实际工作原理感到困惑。请检查以下代码...
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
没有任何变量或值) ?
Calling 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);
}
大多数编译器无法编译 - 生成unreachable code
指向第二个的错误System.out.println
call.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)