Ci sono molte differenze e somiglianze tra i Programmazione C++ lingua e Giava . Di seguito è riportato un elenco delle principali differenze tra C++ e Java:
Indice di confronto | C++ | Giava |
---|---|---|
Piattaforma indipendente | Il C++ dipende dalla piattaforma. | Java è indipendente dalla piattaforma. |
Utilizzato principalmente per | Il C++ viene utilizzato principalmente per la programmazione di sistema. | Java viene utilizzato principalmente per la programmazione di applicazioni. È ampiamente utilizzato nelle applicazioni basate su Windows, sul Web, aziendali e mobili. |
Obiettivo di progettazione | C++ è stato progettato per la programmazione di sistemi e applicazioni. Era un'estensione del Linguaggio di programmazione C . | Java è stato progettato e creato come interprete per i sistemi di stampa ma in seguito è stato esteso come supporto informatico di rete. È stato progettato per essere facile da usare e accessibile a un pubblico più ampio. |
Vai a | C++ supporta l'istruzione goto. | Java non supporta l'istruzione goto. |
Eredità multipla | Il C++ supporta l'ereditarietà multipla. | Java non supporta l'ereditarietà multipla tramite classe. Può essere ottenuto utilizzando interfacce in Java . |
Sovraccarico degli operatori | Supporta C++ sovraccarico dell'operatore . | Java non supporta l'overload degli operatori. |
Puntatori | C++ supporta i puntatori. Puoi scrivere un programma puntatore in C++. | Java supporta il puntatore internamente. Tuttavia, non puoi scrivere il programma puntatore in Java. Significa che Java ha un supporto limitato per i puntatori in Java. |
Compilatore e interprete | C++ utilizza solo il compilatore. C++ viene compilato ed eseguito utilizzando il compilatore che converte il codice sorgente in codice macchina, quindi C++ dipende dalla piattaforma. | Java utilizza sia il compilatore che l'interprete. Il codice sorgente Java viene convertito in bytecode al momento della compilazione. L'interprete esegue questo bytecode in fase di esecuzione e produce output. Java viene interpretato per questo motivo è indipendente dalla piattaforma. |
Chiama per valore e Chiama per riferimento | C++ supporta sia la chiamata per valore che la chiamata per riferimento. | Java supporta solo la chiamata in base al valore. Non esiste una chiamata per riferimento in Java. |
Struttura e Unione | Il C++ supporta strutture e unioni. | Java non supporta strutture e unioni. |
Supporto del filo | C++ non ha il supporto integrato per i thread. Si basa su librerie di terze parti per il supporto dei thread. | Java è integrato filo supporto. |
Commento sulla documentazione | C++ non supporta i commenti sulla documentazione. | Java supporta il commento sulla documentazione (/** ... */) per creare la documentazione per il codice sorgente Java. |
Parola chiave virtuale | C++ supporta le parole chiave virtuali in modo che possiamo decidere se sovrascrivere o meno una funzione. | Java non ha parole chiave virtuali. Possiamo sovrascrivere tutti i metodi non statici per impostazione predefinita. In altre parole, i metodi non statici sono virtuali per impostazione predefinita. |
spostamento a destra senza segno >>> | C++ non supporta l'operatore >>>. | Java supporta l'operatore di spostamento a destra >>> senza segno che riempie lo zero in alto per i numeri negativi. Per i numeri positivi, funziona come l'operatore >>. |
Albero dell'eredità | Il C++ crea sempre un nuovo albero di ereditarietà. | Java utilizza sempre un singolo albero di ereditarietà perché tutte le classi sono figlie della classe Object in Java. La classe Object è la radice di eredità albero in Java. |
Hardware | Il C++ è più vicino all'hardware. | Java non è così interattivo con l'hardware. |
Orientato agli oggetti | C++ è un linguaggio orientato agli oggetti. Tuttavia, nel linguaggio C non è possibile una gerarchia a radice singola. | Anche Java è un file orientato agli oggetti lingua. Tuttavia, in Java tutto (tranne i tipi fondamentali) è un oggetto. È una gerarchia a radice singola poiché tutto deriva da java.lang.Object. |
Nota
- Java non supporta argomenti predefiniti come C++.
- Java non supporta file di intestazione come C++. Java utilizza la parola chiave import per includere classi e metodi diversi.
Esempio di programma C++
File: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Produzione:
Hello C++ Programming
Esempio di programma Java
File: Semplice.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Produzione:
Hello Java