logo

C++ prieš Java

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