在Java中,System.exit(0),System.exit(-1)和System.exit(1)之间有什么区别?

308

我想知道在Java中以下内容的区别:

System.exit(0);
System.exit(-1);
System.exit(1);

我什么时候需要适当使用上述代码?


20
为什么你没有将答案标记为“最佳答案”,这样就会有一个绿色的勾勾?这可以帮助其他人知道哪个是最好的答案!! - Saksham Goyal
12个回答

0

其他人已经回答了,0 表示成功,否则表示失败。

如果你使用的是 bat 文件(Windows),System.exit(x) 将会生效。

Java 代码(我的应用程序):

if (error < 2){
    help();
    System.exit(-1);    
}
else{
    doSomthing();
    System.exit(0);
}

}

批处理文件:

java -jar myapp.jar
if %errorlevel% neq 0 exit /b %errorlevel%
rem -- next command if myapp is success --

-10
class calc{
public static void main(String args[])
{
    int a, b, c;
    char ch;
    do{

        Scanner s=new Scanner(System.in);

                System.out.print("1. Addition\n");
                System.out.print("2. Substraction\n");
                System.out.print("3. Multiplication\n");
                System.out.print("4. Division\n");
                System.out.print("5. Exit\n\n");

                System.out.print("Enter your choice : ");
                ch=s.next().charAt(0);
                    switch (ch)
                    {
                        case '1' :
                        Addition chose1=new Addition();
                        chose1.add();
                        break;

                        case '2' :
                        Substraction chose2=new Substraction();
                        chose2.sub();
                        break;

                        case '3' :
                        Multiplication chose3= new Multiplication();
                        chose3.multi();
                        break;

                        case '4' :
                        Division chose4=new Division();
                        chose4.divi();
                        break;

                        case '5' :
                        System.exit(0);
                        break;

                        default :
                        System.out.print("wrong choice!!!");
                        break;
                    }
        System.out.print("\n--------------------------\n");                     
    }while(ch !=5); 
}

}

在上面的代码中,当它是System.exit(0);时,我按5号情况退出正常,但当我使用System.exit(1);并按5号情况退出时,它会出现错误,当我尝试使用15号情况时,它会正常退出,因此我知道,每当我们在参数中放置任何int时,它指定从该位置获取字符,即如果我放置(4),那么它意味着从该字符串中取第5个字符,如果是(3),则表示从输入的字符串中取第4个字符。

建议将类名的第一个字母大写。 - Nirvana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接