System.exit()
有什么用?如果我不使用它会怎么样?我的教授用以下方式使用它:
public static void main(String[] args) throws Exception {
// make sure that you have the right number of arguments
if (args.length != 1) {
System.out.println("Usage: java FileDemo filename");
System.exit(0);
}
我不知道他为什么用它。另外我不明白他为什么要我确保我有正确数量的论点。他怎么知道(args.length !=1)
?我们尚未在主要方法中填充String [] args
。
答案 0 :(得分:2)
args
的参数是从命令行提供的(或者如果使用IDE,则可以通过GUI自行设置命令行参数)。因此无论你是否在代码中看不到它们,它们都会被设置。
System.exit
的文档说(我的粗体):
终止当前运行的Java虚拟机。该参数用作状态代码;按照惯例,非零状态代码表示异常终止。此方法调用类
Runtime
中的exit方法。此方法永远不会正常返回。
程序中的用法是无关紧要的,因为main
在完成执行时会退出。但是,当用户向程序提供的参数数量不正确时,您的教授可能想要演示正确的操作。在这种情况下,您希望释放所有资源并优雅地exit
。在这种情况下,使用System.exit
完全没问题。
答案 1 :(得分:0)
String[] args
。
第二个问题的答案在于here
答案 2 :(得分:0)
String[] args
是程序的命令行参数,并指定为Java程序的一部分' entry point。 System.exit(int)
用于终止正在运行的JVM并将0
返回给父进程。
答案 3 :(得分:0)
args []数组是从外部推入应用程序的args列表。在你的情况下,程序只需要1个参数。如果没有或超过1,程序就会终止。这里的System.exit(x)只是终止,因为程序似乎没有以正确的方式启动/使用,通常你的程序会触发帮助功能并打印正确用法的提示。 A"返回;"会做同样的事情,只是结束程序。