Existem muitas diferenças e semelhanças entre os Programação C++ linguagem e Java . Uma lista das principais diferenças entre C++ e Java é fornecida abaixo:
Índice de comparação | C++ | Java |
---|---|---|
Plataforma independente | C++ depende da plataforma. | Java é independente de plataforma. |
Usado principalmente para | C++ é usado principalmente para programação de sistemas. | Java é usado principalmente para programação de aplicativos. É amplamente utilizado em aplicativos baseados em Windows, baseados na Web, corporativos e móveis. |
Objetivo do projeto | C++ foi projetado para programação de sistemas e aplicativos. Foi uma extensão do Linguagem de programação C . | Java foi projetado e criado como um intérprete para sistemas de impressão, mas posteriormente estendido como suporte à computação em rede. Ele foi projetado para ser fácil de usar e acessível a um público mais amplo. |
Vá para | C++ suporta a instrução goto. | Java não suporta a instrução goto. |
Herança múltipla | C++ oferece suporte a herança múltipla. | Java não suporta herança múltipla por meio de classe. Isso pode ser alcançado usando interfaces em java . |
Sobrecarga do Operador | C++ suporta sobrecarga do operador . | Java não suporta sobrecarga de operador. |
Ponteiros | C++ suporta ponteiros. Você pode escrever um programa de ponteiro em C++. | Java suporta ponteiro internamente. No entanto, você não pode escrever o programa ponteiro em java. Isso significa que java restringiu o suporte a ponteiros em java. |
Compilador e Interpretador | C++ usa apenas compilador. C++ é compilado e executado usando o compilador que converte o código-fonte em código de máquina, portanto, C++ depende da plataforma. | Java usa compilador e interpretador. O código-fonte Java é convertido em bytecode no momento da compilação. O interpretador executa esse bytecode em tempo de execução e produz uma saída. Java é interpretado por isso é independente de plataforma. |
Chamada por Valor e Chamada por Referência | C++ suporta chamada por valor e chamada por referência. | Java suporta chamadas apenas por valor. Não há chamada por referência em java. |
Estrutura e União | C++ oferece suporte a estruturas e uniões. | Java não oferece suporte a estruturas e uniões. |
Suporte a tópicos | C++ não possui suporte integrado para threads. Ele depende de bibliotecas de terceiros para suporte a threads. | Java tem embutido fio apoiar. |
Comentário da documentação | C++ não oferece suporte a comentários de documentação. | Java suporta comentários de documentação (/** ... */) para criar documentação para código-fonte Java. |
Palavra-chave virtual | C++ oferece suporte a palavras-chave virtuais para que possamos decidir se devemos ou não substituir uma função. | Java não possui palavra-chave virtual. Podemos substituir todos os métodos não estáticos por padrão. Em outras palavras, os métodos não estáticos são virtuais por padrão. |
deslocamento para a direita sem sinal >>> | C++ não oferece suporte ao operador >>>. | Java suporta o operador de deslocamento para a direita >>> sem sinal que preenche zero na parte superior para os números negativos. Para números positivos, funciona da mesma forma que o operador >>. |
Árvore de herança | C++ sempre cria uma nova árvore de herança. | Java sempre usa uma única árvore de herança porque todas as classes são filhas da classe Object em Java. A classe Object é a raiz do herança árvore em java. |
Hardware | C++ está mais próximo do hardware. | Java não é tão interativo com hardware. |
Orientado a Objeto | C++ é uma linguagem orientada a objetos. No entanto, na linguagem C, uma hierarquia de raiz única não é possível. | Java também é um Orientado a Objeto linguagem. No entanto, tudo (exceto os tipos fundamentais) é um objeto em Java. É uma hierarquia de raiz única, pois tudo é derivado de java.lang.Object. |
Observação
- Java não oferece suporte a argumentos padrão como C++.
- Java não oferece suporte a arquivos de cabeçalho como C++. Java usa a palavra-chave import para incluir diferentes classes e métodos.
Exemplo de programa C++
Arquivo: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Saída:
contém em string
Hello C++ Programming
Exemplo de programa Java
Arquivo: Simples.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Saída:
Hello Java