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

📅  最后修改于: 2021-09-10 03:00:58             🧑  作者: Mango

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

C++ 返回 0

  • 在标准 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.