logo

C++ vs Java

Niiden välillä on monia eroja ja yhtäläisyyksiä C++ ohjelmointi kieli ja Java . Alla on luettelo tärkeimmistä eroista C++:n ja Javan välillä:

ubuntu mikä komento
Vertailuindeksi C++Java
Alustasta riippumaton C++ on alustariippuvainen.Java on alustasta riippumaton.
Käytetään pääasiassa C++:aa käytetään pääasiassa järjestelmäohjelmointiin.Javaa käytetään pääasiassa sovellusohjelmointiin. Sitä käytetään laajasti Windows-pohjaisissa, verkkopohjaisissa, yritys- ja mobiilisovelluksissa.
Suunnittelun tavoite C++ on suunniteltu järjestelmien ja sovellusten ohjelmointiin. Se oli jatkoa C-ohjelmointikieli .Java suunniteltiin ja luotiin tulkkina tulostusjärjestelmille, mutta laajennettiin myöhemmin tukiverkkolaskentaa. Se on suunniteltu helppokäyttöiseksi ja laajemman yleisön ulottuville.
Mene C++ tukee goto-lausetta.Java ei tue goto-lausetta.
Moniperintö C++ tukee moniperintöä.Java ei tue moninkertaista periytymistä luokan kautta. Se voidaan saavuttaa käyttämällä käyttöliittymät javassa .
Kuljettajan ylikuormitus C++ tukee operaattorin ylikuormitus .Java ei tue operaattorin ylikuormitusta.
Osoittimet C++ tukee osoittimia. Voit kirjoittaa osoitinohjelman C++:lla.Java tukee osoitinta sisäisesti. Osoitinohjelmaa ei kuitenkaan voi kirjoittaa javassa. Se tarkoittaa, että javalla on rajoitettu osoittimen tuki javassa.
Kääntäjä ja tulkki C++ käyttää vain kääntäjää. C++ käännetään ja ajetaan kääntäjällä, joka muuntaa lähdekoodin konekoodiksi, joten C++ on alustariippuvainen.Java käyttää sekä kääntäjää että tulkkia. Java-lähdekoodi muunnetaan tavukoodiksi käännösvaiheessa. Tulkki suorittaa tämän tavukoodin ajon aikana ja tuottaa tulosteen. Java tulkitaan siksi se on alustariippumaton.
Soita arvon mukaan ja soita viitteellä C++ tukee sekä kutsua arvolla että kutsua viittauksella.Java tukee vain kutsua arvon mukaan. Javassa ei ole viittauskutsua.
Rakenne ja unioni C++ tukee rakenteita ja liittoja.Java ei tue rakenteita ja liittoja.
Säikeen tuki C++:ssa ei ole sisäänrakennettua tukea säikeille. Se luottaa kolmannen osapuolen kirjastoihin säikeen tueksi.Java on sisäänrakennettu lanka tuki.
Dokumentaatiokommentti C++ ei tue dokumentaatiokommentteja.Java tukee dokumentaatiokommenttia (/** ... */) dokumentaation luomiseksi Java-lähdekoodille.
Virtuaalinen avainsana C++ tukee virtuaalista avainsanaa, jotta voimme päättää, ohitetaanko funktio vai ei.Javalla ei ole virtuaalista avainsanaa. Voimme ohittaa kaikki ei-staattiset menetelmät oletuksena. Toisin sanoen ei-staattiset menetelmät ovat oletuksena virtuaalisia.
allekirjoittamaton siirto oikealle >>> C++ ei tue >>>-operaattoria.Java tukee etumerkitöntä siirto oikealle >>> -operaattoria, joka täyttää nollan yläreunassa negatiivisille luvuille. Positiivisille luvuille se toimii samoin kuin >>-operaattori.
Perintöpuu C++ luo aina uuden perintöpuun.Java käyttää aina yhtä perintöpuuta, koska kaikki luokat ovat Java-objektiluokan lapsia. Object-luokka on juuri perinnön puu javassa.
Laitteisto C++ on lähempänä laitteistoa.Java ei ole niin interaktiivinen laitteiston kanssa.
Oliosuuntautunut C++ on oliokieli. C-kielessä yksijuurihierarkia ei kuitenkaan ole mahdollista.Java on myös oliosuuntautunut Kieli. Kaikki (paitsi perustyypit) on kuitenkin Java-objekteja. Se on yksijuurihierarkia, koska kaikki johdetaan tiedostosta java.lang.Object.

Huomautus

  • Java ei tue oletusargumentteja, kuten C++.
  • Java ei tue otsikkotiedostoja, kuten C++. Java käyttää tuontiavainsanaa eri luokkien ja menetelmien sisällyttämiseen.

Esimerkki C++-ohjelmasta

Tiedosto: main.cpp

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

Lähtö:

 Hello C++ Programming 

Esimerkki Java-ohjelmasta

Tiedosto: Simple.java

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

Lähtö:

 Hello Java