Yra daug skirtumų ir panašumų tarp C++ programavimas kalba ir Java . Žemiau pateikiamas pagrindinių C++ ir Java skirtumų sąrašas:
Palyginimo indeksas | C++ | Java |
---|---|---|
Nuo platformos nepriklausomas | C++ priklauso nuo platformos. | „Java“ yra nepriklausoma nuo platformos. |
Daugiausia naudojamas | C++ dažniausiai naudojamas sistemos programavimui. | Java daugiausia naudojama programų programavimui. Jis plačiai naudojamas Windows, žiniatinklio, įmonės ir mobiliosiose programose. |
Dizaino tikslas | C++ buvo sukurtas sistemų ir programų programavimui. Tai buvo pratęsimas C programavimo kalba . | „Java“ buvo sukurta ir sukurta kaip spausdinimo sistemų vertėjas, tačiau vėliau buvo išplėsta kaip tinklo skaičiavimo palaikymas. Jis buvo sukurtas taip, kad būtų lengvas naudoti ir prieinamas platesnei auditorijai. |
Eiti į | C++ palaiko goto teiginį. | Java nepalaiko goto teiginio. |
Daugialypis paveldėjimas | C++ palaiko daugialypį paveldėjimą. | Java nepalaiko kelių paveldėjimo per klasę. Tai galima pasiekti naudojant sąsajos java . |
Operatoriaus perkrova | C++ palaiko operatoriaus perkrova . | „Java“ nepalaiko operatoriaus perkrovos. |
Rodyklės | C++ palaiko rodykles. Galite parašyti žymeklio programą C++ kalba. | Java palaiko rodyklę viduje. Tačiau jūs negalite rašyti rodyklės programos Java. Tai reiškia, kad „Java“ java turi apribotą rodyklės palaikymą. |
Kompiliatorius ir vertėjas | C++ naudoja tik kompiliatorių. C++ yra kompiliuojamas ir paleistas naudojant kompiliatorių, kuris konvertuoja šaltinio kodą į mašininį kodą, todėl C++ priklauso nuo platformos. | Java naudoja ir kompiliatorių, ir interpretatorių. Kompiliavimo metu Java šaltinio kodas konvertuojamas į baitinį kodą. Vertėjas vykdo šį baito kodą vykdymo metu ir sukuria išvestį. „Java“ yra aiškinama, todėl ji nepriklauso nuo platformos. |
Skambinkite pagal vertę ir skambinkite pagal nuorodą | C++ palaiko ir skambutį pagal vertę, ir skambutį pagal nuorodą. | Java palaiko tik skambutį pagal vertę. Java kalboje nėra skambučio pagal nuorodą. |
Struktūra ir Sąjunga | C++ palaiko struktūras ir sąjungas. | „Java“ nepalaiko struktūrų ir sąjungų. |
Siūlų palaikymas | C++ neturi integruoto gijų palaikymo. Ji remiasi trečiųjų šalių bibliotekomis gijų palaikymui. | „Java“ yra įmontuota siūlas parama. |
Dokumentacijos komentaras | C++ nepalaiko dokumentacijos komentarų. | „Java“ palaiko dokumentacijos komentarą (/** ... */), kad būtų galima sukurti „Java“ šaltinio kodo dokumentus. |
Virtualus raktinis žodis | C++ palaiko virtualų raktinį žodį, kad galėtume nuspręsti, ar nepaisyti funkcijos, ar ne. | „Java“ neturi virtualaus raktinio žodžio. Pagal numatytuosius nustatymus galime nepaisyti visų nestatinių metodų. Kitaip tariant, nestatiniai metodai pagal numatytuosius nustatymus yra virtualūs. |
nepasirašytas poslinkis į dešinę >>> | C++ nepalaiko >>> operatoriaus. | „Java“ palaiko nepasirašytą dešinįjį poslinkį >>>, kuris neigiamų skaičių viršuje užpildo nulį. Teigiamų skaičių atveju tai veikia taip pat, kaip >> operatorius. |
Paveldėjimo medis | C++ visada sukuria naują paveldėjimo medį. | Java visada naudoja vieną paveldėjimo medį, nes visos klasės yra Java Object klasės vaikai. Objekto klasė yra šaknis paveldėjimo medis java. |
Aparatūra | C++ yra arčiau aparatinės įrangos. | „Java“ nėra tokia interaktyvi su aparatine įranga. |
Objektinis | C++ yra į objektą orientuota kalba. Tačiau C kalboje vienos šaknies hierarchija neįmanoma. | Java taip pat yra orientuota į objektą kalba. Tačiau viskas (išskyrus pagrindinius tipus) yra Java objektas. Tai yra vienos šaknies hierarchija, nes viskas gaunama iš java.lang.Object. |
Pastaba
- Java nepalaiko numatytųjų argumentų, tokių kaip C++.
- Java nepalaiko antraštės failų, tokių kaip C++. Java naudoja importavimo raktinį žodį, kad įtrauktų skirtingas klases ir metodus.
C++ programos pavyzdys
Failas: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Išvestis:
Hello C++ Programming
Java programos pavyzdys
Failas: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Išvestis:
Hello Java