Medzi nimi je veľa rozdielov a podobností Programovanie v C++ jazyk a Java . Zoznam hlavných rozdielov medzi C++ a Java je uvedený nižšie:
Porovnávací index | C++ | Java |
---|---|---|
Platformovo nezávislé | C++ je závislé od platformy. | Java je nezávislá na platforme. |
Používa sa hlavne na | C++ sa používa hlavne na programovanie systémov. | Java sa používa hlavne na programovanie aplikácií. Je široko používaný v aplikáciách založených na systéme Windows, webových, podnikových a mobilných aplikáciách. |
Cieľ dizajnu | C++ bol navrhnutý pre programovanie systémov a aplikácií. Išlo o rozšírenie C programovací jazyk . | Java bola navrhnutá a vytvorená ako interpret pre tlačové systémy, ale neskôr bola rozšírená ako podpora sieťových výpočtov. Bol navrhnutý tak, aby sa dal ľahko používať a bol prístupný pre širšie publikum. |
Ísť do | C++ podporuje príkaz goto. | Java nepodporuje príkaz goto. |
Viacnásobné dedičstvo | C++ podporuje viacnásobnú dedičnosť. | Java nepodporuje viacnásobné dedenie prostredníctvom triedy. Dá sa to dosiahnuť použitím rozhrania v jazyku Java . |
Preťaženie operátora | C++ podporuje preťaženie operátora . | Java nepodporuje preťaženie operátora. |
Ukazovatele | C++ podporuje ukazovatele . Ukazovateľový program môžete napísať v C++. | Java interne podporuje ukazovateľ. Ukazovací program však nemôžete napísať v jazyku Java. Znamená to, že java má obmedzenú podporu ukazovateľov v jazyku Java. |
Kompilátor a tlmočník | C++ používa iba kompilátor. C++ sa kompiluje a spúšťa pomocou kompilátora, ktorý prevádza zdrojový kód na strojový kód, takže C++ je závislý od platformy. | Java používa kompilátor aj tlmočník. Zdrojový kód Java sa v čase kompilácie skonvertuje na bajtový kód. Interpret vykoná tento bajtový kód za behu a vytvorí výstup. Java sa interpretuje preto, že je nezávislá od platformy. |
Call by Value a Call podľa referencie | C++ podporuje volanie podľa hodnoty aj volanie podľa odkazu. | Java podporuje len volanie podľa hodnoty. V jave nie je žiadne volanie odkazom. |
Štruktúra a únia | C++ podporuje štruktúry a zväzky. | Java nepodporuje štruktúry a odbory. |
Podpora vlákien | C++ nemá vstavanú podporu pre vlákna. Pri podpore vlákien sa spolieha na knižnice tretích strán. | Java má vstavaný niť podpora. |
Komentár k dokumentácii | C++ nepodporuje komentáre k dokumentácii. | Java podporuje komentár k dokumentácii (/** ... */) na vytvorenie dokumentácie pre zdrojový kód Java. |
Virtuálne kľúčové slovo | C++ podporuje virtuálne kľúčové slovo, takže sa môžeme rozhodnúť, či funkciu prepíšeme alebo nie. | Java nemá žiadne virtuálne kľúčové slovo. Všetky nestatické metódy môžeme štandardne prepísať. Inými slovami, nestatické metódy sú štandardne virtuálne. |
posun vpravo bez znamienka >>> | C++ nepodporuje operátor >>>. | Java podporuje operátor posunu vpravo >>> bez znamienka, ktorý pre záporné čísla vyplní nulu hore. Pre kladné čísla to funguje rovnako ako operátor >>. |
Strom dedičstva | C++ vždy vytvorí nový strom dedičnosti. | Java vždy používa jeden strom dedičnosti, pretože všetky triedy sú potomkami triedy Object v jazyku Java. Trieda Object je koreňom triedy dedičstvo strom v jave. |
Hardvér | C++ je bližšie k hardvéru. | Java nie je taká interaktívna s hardvérom. |
Objektovo orientovaný | C++ je objektovo orientovaný jazyk. V jazyku C však nie je možná jedna koreňová hierarchia. | Java je tiež objektovo orientovaný Jazyk. Všetko (okrem základných typov) je však v Jave objekt. Je to jediná koreňová hierarchia, pretože všetko je odvodené od java.lang.Object. |
Poznámka
- Java nepodporuje predvolené argumenty ako C++.
- Java nepodporuje hlavičkové súbory ako C++. Java používa kľúčové slovo import na zahrnutie rôznych tried a metód.
Príklad programu C++
Súbor: main.cpp
dátum použitia java
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Výkon:
Hello C++ Programming
Príklad programu Java
Súbor: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Výkon:
pole reťazcov c programovanie
Hello Java