Java和C++是具有不同应用和设计目标的语言。C++是过程性编程语言C的扩展,而Java则依靠Java虚拟机来实现安全和高度可移植性。这导致它们有许多不同之处。在这篇文章中,我们将看到C++ return 0和Java System.exit(0)之间的区别。在讨论这些差异之前,让我们先了解它们各自的实际含义。
在标准C++中,建议创建一个有返回类型的main()函数。
所以,main()函数必须返回一个整数值,这个整数值通常是将被传回给操作系统的值。
在stdlib.h中,宏EXIT_SUCCESS和EXIT_FAILURE是这样定义的 –
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
return 0 — 成功终止。return 1或任何其他非零值 -> 不成功的终止。return 1或return -1或任何其他非零值,意味着程序正在返回错误。#include
using namespace std;
int main()
{
int num1, num2;
cin >> num1 >> num2;
cout << num1 + num2;
return 0;
}
首先要考虑的是,java中的main函数的返回类型是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 YiibaiDemo {
public static void main (String[] args) {
System.out.println("GeeksForGeeks");
}
}
注意:
return 0和System.exit(0)的作用都是和main()函数的返回类型不同。
下表描述了这些区别 –
| SR.NO | C++ return 0 | Java System.exit(0) |
|---|---|---|
| 1 | C++中的main()函数有一个返回类型。因此,C++中的每个main方法都应该返回任何值。 |
java中的main()方法的返回类型是void,main方法不应该返回任何值。 |
| 2 | 在C++程序中,return 0语句是可选的:编译器会自动在程序中隐含地添加一个return 0。 |
在Java中,没有特别要求调用System.exit(0)或明确添加它。 |
| 3 | 它是一个用来返回某些值的关键字,所以它不需要任何声明。它只需要return关键字与值或变量。 |
java.lang.System.exit()方法的声明: public static void exit(int status) |
| 4 | 一般来说,return 0被用来向操作系统返回退出代码。 |
如果想明确地指定一个退出代码给操作系统,必须使用System.exit()。 |
| 5 | 在C++程序中使用return 0被认为是一种好的做法。 |
在实践中,使用System.exit(0)是可以避免的,因为main()方法有void返回类型。 |