Sok különbség és hasonlóság van között C++ programozás nyelv és Jáva . A C++ és a Java közötti legfontosabb különbségek listája az alábbiakban található:
| Összehasonlítási index | C++ | Jáva |
|---|---|---|
| Platformfüggetlen | A C++ platformfüggő. | A Java platformfüggetlen. |
| Főleg arra használják | A C++-t főleg rendszerprogramozásra használják. | A Java-t elsősorban alkalmazásprogramozásra használják. Széles körben használják Windows-alapú, web-alapú, vállalati és mobilalkalmazásokban. |
| Tervezési cél | A C++-t rendszerek és alkalmazások programozására tervezték. Ez egy kiterjesztése volt a C programozási nyelv . | A Java-t a nyomtatórendszerek tolmácsaként tervezték és hozták létre, de később a hálózati számítástechnika támogatására is kiterjesztették. Úgy tervezték, hogy könnyen használható és szélesebb közönség számára elérhető legyen. |
| Menj | A C++ támogatja a goto utasítást. | A Java nem támogatja a goto utasítást. |
| Többszörös öröklés | A C++ támogatja a többszörös öröklődést. | A Java nem támogatja az osztályon keresztüli többszörös öröklődést. Használatával érhető el interfészek java-ban . |
| Kezelő túlterhelése | C++ támogatja kezelő túlterhelése . | A Java nem támogatja az operátor túlterhelését. |
| Mutatók | A C++ támogatja a mutatókat. C++ nyelven tudsz mutató programot írni. | A Java belülről támogatja a mutatót. A mutatóprogramot azonban nem írhatja meg java-ban. Ez azt jelenti, hogy a java korlátozott mutatótámogatással rendelkezik a Java-ban. |
| Fordító és tolmács | A C++ csak fordítót használ. A C++ fordítása és futtatása a fordító segítségével történik, amely a forráskódot gépi kóddá alakítja, így a C++ platformfüggő. | A Java fordítót és értelmezőt is használ. A Java forráskód a fordításkor bájtkóddá alakul. Az értelmező ezt a bájtkódot végrehajtja futás közben, és kimenetet állít elő. A Java értelmezése ezért platformfüggetlen. |
| Hívás érték szerint és hívás referenciával | A C++ támogatja az érték szerinti hívást és a referenciahívást is. | A Java csak az érték szerinti hívást támogatja. Java-ban nincs hivatkozási hívás. |
| Struktúra és Unió | A C++ támogatja a struktúrákat és a szakszervezeteket. | A Java nem támogatja a struktúrákat és a szakszervezeteket. |
| Szál támogatása | A C++ nem támogatja a szálakat. Harmadik féltől származó könyvtárakra támaszkodik a szálak támogatásához. | A Java beépített cérna támogatás. |
| Dokumentációs megjegyzés | A C++ nem támogatja a dokumentációs megjegyzéseket. | A Java támogatja a dokumentációs megjegyzést (/** ... */) a java forráskód dokumentációjának létrehozásához. |
| Virtuális kulcsszó | A C++ támogatja a virtuális kulcsszót, így eldönthetjük, hogy felülírunk-e egy függvényt vagy sem. | A Java-nak nincs virtuális kulcsszava. Alapértelmezés szerint felülírhatunk minden nem statikus metódust. Más szavakkal, a nem statikus módszerek alapértelmezés szerint virtuálisak. |
| előjel nélküli jobb eltolódás >>> | A C++ nem támogatja a >>> operátort. | A Java támogatja az előjel nélküli jobb eltolás >>> operátorát, amely nullát tölt ki a negatív számok tetején. Pozitív számok esetén ugyanúgy működik, mint a >> operátor. |
| Örökség fa | A C++ mindig új öröklési fát hoz létre. | A Java mindig egyetlen öröklési fát használ, mivel minden osztály a Java Object osztályának gyermeke. Az Object osztály a gyöke öröklés fa java-ban. |
| Hardver | A C++ közelebb áll a hardverhez. | A Java nem annyira interaktív a hardverrel. |
| Objektum orientált | A C++ egy objektumorientált nyelv. A C nyelvben azonban egyetlen gyökérhierarchia nem lehetséges. | A Java is egy objektum orientált nyelv. Azonban minden (az alapvető típusok kivételével) egy objektum a Java-ban. Ez egyetlen gyökérhierarchia, mivel minden a java.lang.Object-ből származik. |
jegyzet
- A Java nem támogatja az olyan alapértelmezett argumentumokat, mint a C++.
- A Java nem támogatja az olyan fejlécfájlokat, mint a C++. A Java az import kulcsszót használja különböző osztályok és metódusok felvételére.
C++ program példa
Fájl: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; } Kimenet:
Hello C++ Programming
Java program példa
Fájl: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } } Kimenet:
Hello Java