📜  Java System.exit(0)与C++返回0

📅  最后修改于: 2021-05-30 10:42:37             🧑  作者: Mango

Java和C++是具有不同应用程序和设计目标的语言。 C++是过程编程语言C的扩展, Java依靠Java虚拟机来保证安全性和高度可移植性。这导致他们有许多差异。在本文中,我们将看到C++ return 0Java System.exit(0)之间的区别。在探讨差异之前,让我们首先了解它们各自的真正含义。

C++返回0

  • 在Standard C++中,建议创建带有返回类型的main()函数。
  • 因此, main()函数必须返回一个整数值,并且该整数值通常是将传递回操作系统的值。

stdlib.h中,宏EXIT_SUCCESSEXIT_FAILURE的定义如下:

#define EXIT_SUCCESS    0
#define EXIT_FAILURE    1
  • 返回0 –>成功终止。
  • 返回1或任何其他非零值–>不成功的终止。
  • 返回不同的值,例如return 1return -1或任何其他非零值,则表明程序正在返回错误。
C++
#include 
  
using namespace std;
  
int main()
{
    int num1, num2;
    cin >> num1 >> num2;
    cout << num1 + num2;
  
    return 0;
}


Java
import java.io.*;
  
class GFG {
    public static void main (String[] args) {
        System.out.println("GeeksForGeeks");
    }
}


Input:
54
4


Output:
58

Java System.exit(0)

首先要考虑的是 Java的main函数的返回类型为void

  • 在Java,您不能返回退出代码,因为它是一个void函数。因此,如果要显式指定退出代码,则必须使用System.exit()方法。
  • Java.lang.System.exit()方法通过终止正在运行的Java虚拟机来退出当前程序。

Java.lang.System.exit()方法的声明:

public static void exit(int status)
exit(0) -->successful termination.
exit(1) or exit(-1) or any other non-zero value –-> unsuccessful termination.

Java

import java.io.*;
  
class GFG {
    public static void main (String[] args) {
        System.out.println("GeeksForGeeks");
    }
}
Output:
GeeksforGeeks

注意: return 0System.exit(0)的工作与main()函数的返回类型的区别相同。

下表描述了差异:

SR.NO C++ Return 0 Java System.exit(0) 
1. The main() function in C++ has a return type. Hence, every main method in C++ should return any value. The main() method in java is of void return type. Hence, main method should not return any value.
2. In a C++ program return 0 statement is optional: the compiler automatically adds a return 0 in a program implicitly. In Java, there is no special requirement to call System.exit(0) or add it explicitly.
3. It is a keyword which is used to return some value, so it does not need any declaration.It needs only return keyword with value or variables.   

Declaration for java.lang.System.exit() method:

public static void exit(int status)

4. Generally, return 0 is used to return exit code to the operating system. If we want to explicitly specify an exit code to the operating system, we have to use System.exit().
5. Using return 0 in C++ programs is considered a good practice. Using System.exit(0) is avoided in practice because we have our main() method with void return type.