Starp tiem ir daudz atšķirību un līdzību C++ programmēšana valoda un Java . Tālāk ir sniegts galveno atšķirību saraksts starp C++ un Java:
Salīdzināšanas indekss | C++ | Java |
---|---|---|
No platformas neatkarīgs | C++ ir atkarīgs no platformas. | Java ir no platformas neatkarīga. |
Galvenokārt izmanto priekš | C++ galvenokārt tiek izmantots sistēmas programmēšanai. | Java galvenokārt tiek izmantota lietojumprogrammu programmēšanai. To plaši izmanto Windows, tīmekļa, uzņēmumu un mobilajās lietojumprogrammās. |
Dizaina mērķis | C++ bija paredzēts sistēmu un lietojumprogrammu programmēšanai. Tas bija pagarinājums C programmēšanas valoda . | Java tika izstrādāta un izveidota kā drukāšanas sistēmu tulks, bet vēlāk paplašināta kā atbalsta tīkla skaitļošana. Tas tika izstrādāts tā, lai tas būtu viegli lietojams un pieejams plašākai auditorijai. |
Iet uz | C++ atbalsta goto paziņojumu. | Java neatbalsta goto paziņojumu. |
Daudzkārtējs mantojums | C++ atbalsta vairāku mantojumu. | Java neatbalsta vairākkārtēju mantošanu klasē. To var panākt, izmantojot saskarnes java . |
Operatora pārslodze | C++ atbalsts operatora pārslodze . | Java neatbalsta operatora pārslodzi. |
Rādītāji | C++ atbalsta norādes. Jūs varat uzrakstīt rādītāja programmu C++ valodā. | Java iekšēji atbalsta rādītāju. Tomēr jūs nevarat rakstīt rādītāja programmu java. Tas nozīmē, ka javai ir ierobežots rādītāja atbalsts java. |
Sastādītājs un tulks | C++ izmanto tikai kompilatoru. C++ tiek apkopots un palaists, izmantojot kompilatoru, kas pārvērš avota kodu mašīnkodā, tāpēc C++ ir atkarīgs no platformas. | Java izmanto gan kompilatoru, gan tulku. Java avota kods kompilācijas laikā tiek pārveidots par baitkodu. Tulks izpildes laikā izpilda šo baitkodu un rada izvadi. Java tiek interpretēta tāpēc tā ir neatkarīga no platformas. |
Zvanīt pēc vērtības un zvanīt pēc atsauces | C++ atbalsta gan izsaukumu pēc vērtības, gan izsaukšanu pēc atsauces. | Java atbalsta tikai zvanu pēc vērtības. Java valodā nav izsaukuma ar atsauci. |
Struktūra un savienība | C++ atbalsta struktūras un arodbiedrības. | Java neatbalsta struktūras un arodbiedrības. |
Pavedienu atbalsts | C++ nav iebūvēta atbalsta pavedieniem. Pavedienu atbalstam tas paļaujas uz trešo pušu bibliotēkām. | Java ir iebūvēta pavediens atbalsts. |
Dokumentācijas komentārs | C++ neatbalsta dokumentācijas komentārus. | Java atbalsta dokumentācijas komentāru (/** ... */), lai izveidotu dokumentāciju Java pirmkodam. |
Virtuālais atslēgvārds | C++ atbalsta virtuālo atslēgvārdu, lai mēs varētu izlemt, vai ignorēt funkciju. | Javai nav virtuāla atslēgvārda. Pēc noklusējuma mēs varam ignorēt visas nestatiskās metodes. Citiem vārdiem sakot, nestatiskās metodes pēc noklusējuma ir virtuālas. |
neparakstīta labā maiņa >>> | C++ neatbalsta >>> operatoru. | Java atbalsta neparakstītu labo nobīdi >>> operatoru, kas negatīvo skaitļu augšdaļā aizpilda nulli. Pozitīviem skaitļiem tas darbojas tāpat kā >> operators. |
Mantojuma koks | C++ vienmēr izveido jaunu mantojuma koku. | Java vienmēr izmanto vienu mantojuma koku, jo visas klases ir Java objektu klases atvases. Objekta klase ir sakne mantojums koks Java valodā. |
Aparatūra | C++ ir tuvāk aparatūrai. | Java nav tik interaktīva ar aparatūru. |
Objektorientēts | C++ ir objektorientēta valoda. Tomēr C valodā vienas saknes hierarhija nav iespējama. | Java ir arī objektorientēts valodu. Tomēr viss (izņemot pamattipus) ir Java objekts. Tā ir vienas saknes hierarhija, jo viss tiek iegūts no java.lang.Object. |
Piezīme
- Java neatbalsta noklusējuma argumentus, piemēram, C++.
- Java neatbalsta galvenes failus, piemēram, C++. Java izmanto importēšanas atslēgvārdu, lai iekļautu dažādas klases un metodes.
C++ programmas piemērs
Fails: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Izvade:
Hello C++ Programming
Java programmas piemērs
Fails: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Izvade:
bloķēti kontakti
Hello Java