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