Java和C++是具有不同应用程序和设计目标的语言。 C++是过程编程语言C的扩展, Java依靠Java虚拟机来保证安全性和高度可移植性。这导致他们有许多差异。在本文中,我们将看到C++ return 0和Java System.exit(0)之间的区别。在探讨差异之前,让我们首先了解它们各自的真正含义。
C++返回0
- 在Standard C++中,建议创建带有返回类型的main()函数。
- 因此, main()函数必须返回一个整数值,并且该整数值通常是将传递回操作系统的值。
在stdlib.h中,宏EXIT_SUCCESS和EXIT_FAILURE的定义如下:
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
- 返回0 –>成功终止。
- 返回1或任何其他非零值–>不成功的终止。
- 返回不同的值,例如return 1或return -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 0和System.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. |