C++ 与 Java



C++ 编程语言Java 之间有许多差异和相似之处。下面列出了 C++ 和 Java 之间的主要差异:

比较索引 C++ Java
独立于平台 C++ 取决于平台。 Java 是独立于平台的。
主要用于 C++ 主要用于系统编程。 Java 主要用于应用程序编程。它广泛用于基于 Windows、基于 Web、企业和移动应用程序。
设计目标 C++ 专为系统和应用程序编程而设计。它是 C 编程语言的扩展。 Java 是作为打印系统的解释器设计和创建的,但后来扩展为支持网络计算。它旨在易于使用,并可供更广泛的受众访问。
goto 语句 C++ 支持 goto 语句。 Java 不支持 goto 语句。
多重继承 C++ 支持多重继承。 Java 不支持通过类进行多重继承。它可以通过使用 java 中的接口来实现。
运算符重载 C++ 支持运算符重载。 Java 不支持运算符重载。
指针 C++ 支持指针。可以用 C++ 编写指针程序。 Java 内部支持指针。但是,您不能用 java 编写指针程序。这意味着 java 在 java 中限制了指针支持。
编译器和解释器 C++ 仅使用编译器。C++ 是使用编译器编译和运行的,编译器将源代码转换为机器代码,因此 C++ 依赖于平台。 Java 同时使用编译器和解释器。Java 源代码在编译时转换为字节码。解释器在运行时执行此字节码并生成输出。Java 是解释的,这就是它与平台无关的原因。
按值调用 和 按引用调用 C++ 支持按值调用和按引用调用。 Java 仅支持按值调用。java 中没有按引用调用。
结构和联合 C++ 支持结构和联合。 Java 不支持结构和联合。
线程支持 C++ 没有对线程的内置支持。它依赖于第三方库来支持线程。 Java 具有内置的线程支持。
文档注释 C++ 不支持文档注释。 Java 支持文档注释 (/** ... */) 为 Java 源代码创建文档。
虚拟关键字 C++ 支持 virtual 关键字,因此我们可以决定是否覆盖函数。 Java 没有 virtual 关键字。默认情况下,我们可以覆盖所有非静态方法。换句话说,默认情况下,非静态方法是虚拟的。
无符号右移 >>> C++ 不支持 >>> 运算符。 Java 支持无符号右移 >>> 运算符,该运算符在负数的顶部填充零。对于正数,它的工作方式与 >> 运算符相同。
继承树 C++ 始终创建新的继承树。 Java 始终使用单个继承树,因为所有类都是 Java 中 Object 类的子类。Object 类是 java 中继承树的根。
硬件 C++ 更接近硬件。 Java 与硬件的交互性不强。
面向对象 C++ 是一种面向对象的语言。但是,在 C 语言中,不可能有单个根层次结构。 Java 也是一种面向对象的语言。但是,所有内容(基本类型除外)都是 Java 中的对象。它是一个单一的根层次结构,因为所有内容都派生自 java.lang.Object。

注意:

  • Java 不支持 C++ 等默认参数。
  • Java 不支持 C++ 之类的头文件。Java 使用 import 关键字来包含不同的类和方法。

C++ 程序示例

文件:main.cpp


#include <iostream> 	
using namespace std; 	
int main() { 	
	 	cout << "Hello C++ Programming"; 	
	 	return 0; 	
}	

输出:

Hello C++ Programming

Java 程序示例

文件:Simple.java


class Simple{ 	
	 	 public static void main(String args[]){ 	
	 	 	System.out.println("Hello Java"); 	
	 	 } 	
} 	

输出:

Hello Java