JAVA,System.exit()?我如何使用它?

JAVA,System.exit()?我如何使用它?,java,return-code,Java,Return Code,我已经学习java几个月了,我经历了以下几点: 系统退出(值) 我认为您可以使用它来测试代码,具体取决于您给它的“值” e、 g如果我想检查循环是否被使用或工作正常,我可以: if(value == 1) { System.out.println("Hi"); System.exit(0); } 但是经过一点测试之后,我发现在循环执行之后,我实际上无法使用“值” 我想的对吗?此代码还有其他用途吗?系统。退出(值)终止JVM并使用value作为进程的返回值。例如,在*nix系统中

我已经学习java几个月了,我经历了以下几点:

系统退出(

我认为您可以使用它来测试代码,具体取决于您给它的“值”

e、 g如果我想检查循环是否被使用或工作正常,我可以:

if(value == 1)
{
    System.out.println("Hi");
    System.exit(0);
}
但是经过一点测试之后,我发现在循环执行之后,我实际上无法使用“值”

我想的对吗?此代码还有其他用途吗?

系统。退出(值)
终止JVM并使用
value
作为进程的返回值。例如,在*nix系统中,您可以使用:

$ echo `java MyJavaClass`  
System.exit(value)
终止JVM并使用
value
作为进程的返回值。例如,在*nix系统中,您可以使用:

$ echo `java MyJavaClass`  
这将(像往常一样)帮助很大
System.exit
终止JVM。

将(像往常一样)帮助很大
System.exit
终止JVM。

java.lang.System.exit()方法终止当前运行的java虚拟机

参数用作状态代码;按照惯例,非零状态代码表示异常终止

同样,0状态代码返回正常终止

System.exit(0) //exit signaling the process terminated successfully

System.exit(-1) //exit signaling the process did not terminate successfully
方法的作用是:终止当前运行的java虚拟机

参数用作状态代码;按照惯例,非零状态代码表示异常终止

同样,0状态代码返回正常终止

System.exit(0) //exit signaling the process terminated successfully

System.exit(-1) //exit signaling the process did not terminate successfully
将导致程序以给定值终止。传统上(至少在unix系统上),0被指定为表示程序成功执行的数值。所有非零值表示调用环境将知道如何解释的故障模式

我不会使用这种方法来测试我的代码。而是考虑编写单元测试来测试代码。

将导致程序以给定值终止。传统上(至少在unix系统上),0被指定为表示程序成功执行的数值。所有非零值表示调用环境将知道如何解释的故障模式


我不会使用这种方法来测试我的代码。取而代之的是考虑编写单元测试来测试您的代码。

Stuto.ExtEnter()方法可以用来终止程序,因此当您使用该方法时,程序将在到达Sturdie.ExtEnter()方法的参数值时终止程序。< /P> < P> Stuto.Ext.()方法可用于终止程序,因此当您使用此方法时,当程序达到System.exit()方法的参数值时,它将终止程序。

要在Eclipse中检查退出代码,请切换到“Debug”视图。例如,运行后立即:

public class Test {
  public static void main(String[] args) {
    System.exit(55);
  }
}
“调试”视图中的左上角窗口包含:

<terminated>Test [Java Application] 
    <terminated, exit value: 55>C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe (Jun 17, 2015, 11:21:15 AM) 
Test[Java应用程序]
C:\ProgramFiles\Java\jre1.8.0\u 31\bin\javaw.exe(2015年6月17日上午11:21:15)

要检查Eclipse中的退出代码,请切换到“Debug”视图。例如,运行后立即:

public class Test {
  public static void main(String[] args) {
    System.exit(55);
  }
}
“调试”视图中的左上角窗口包含:

<terminated>Test [Java Application] 
    <terminated, exit value: 55>C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe (Jun 17, 2015, 11:21:15 AM) 
Test[Java应用程序]
C:\ProgramFiles\Java\jre1.8.0\u 31\bin\javaw.exe(2015年6月17日上午11:21:15)

我想不出来这就是我为什么问的原因,它就是这么做的吗?因为我读到你使用的值实际上是something@Bill与任何其他程序一样,如果程序是故意终止的,则返回值为0;如果在运行时发生错误,则返回其他值。是的,我得到了这个值,但如果我在eclipse中使用此代码并运行它,则不会打印任何值,所以它所做的就是终止程序,而我所需要的只是一个“中断”;而这个代码(System.out())是无用的。@比尔,我想控制台会记录类似“进程终止,退出代码…”的内容。但是除非你想终止整个程序,否则你不应该使用System.exit退出我想不出来这就是我为什么问的原因,它就这么做了吗?因为我读到你使用的值实际上是something@Bill与任何其他程序一样,如果程序是故意终止的,则返回值为0;如果在运行时发生错误,则返回其他值。是的,我得到了这个值,但如果我在eclipse中使用此代码并运行它,则不会打印任何值,所以它所做的就是终止程序,而我所需要的只是一个“中断”;而这个代码(System.out())是无用的。@比尔,我想控制台会记录类似“进程终止,退出代码…”的内容。但是,除非您想终止整个程序,否则不应该使用与System.exit()值相关的
System.exit
:是的,我已经检查过了!每个普通操作系统中的所有进程在终止时都会返回一个“退出代码”。如果进程成功,此代码通常为0;如果进程失败,此代码通常为其他特定于进程的代码(引发异常、无效参数等)。
System.exit
函数的值就是该代码。谢谢!我想我理解了这段代码的用途。System.exit()关闭VM,不管是否仍有线程在运行,或者调用堆栈嵌套的深度有多深。这是“让我离开这里”的电话。返回代码对VM本身没有意义,但它是一种简单且普遍支持的方式,可以将该值传达给启动VM的任何环境。例如,在shell脚本中,脚本可以根据VM的返回代码来执行。与System.exit()值相关:是的,我已经检查过了!每个普通操作系统中的所有进程在终止时都会返回一个“退出代码”。如果进程成功,此代码通常为0;如果进程失败,此代码通常为其他特定于进程的代码(引发异常、无效参数等)。
System.exit
函数的值就是该代码。谢谢!我想我理解了这段代码的用法。System.exit()关闭VM,不管是否仍有线程在运行,或者调用嵌套的深度有多深