CodeGym /Cursos /JAVA 25 SELF /Compilador e comentários

Compilador e comentários

JAVA 25 SELF
Nível 1 , Lição 5
Disponível

1. Compilador Java

Aliás, você ainda vai ouvir muitas vezes que a vantagem incontestável do Java sobre outras linguagens é a sua multiplataforma. O que é isso e com o que se come? Vamos começar do começo.

O fato é que o computador sabe executar apenas os comandos mais simples.

Para cachorros existem comandos como “Perto”, “Pata” e outros; ao ouvi-los, o cão faz algo importante. No computador, o papel desses comandos é desempenhado por números: cada comando é codificado por um número (também chamado de código de máquina).

Escrever um programa na forma de números é muito difícil, por isso as pessoas inventaram linguagens de programação e compiladores. Uma linguagem assim, por um lado, é compreensível para humanos e, por outro — para o compilador. Um compilador é um programa especial que traduz o texto do programa, escrito em uma linguagem de programação, para um conjunto de códigos de máquina.

Normalmente, o programador escreve o programa em uma linguagem de programação e, em seguida, executa o compilador, que, com base nos arquivos de código escritos pelo programador, cria um único arquivo com código de máquina — o programa final (compilado).

  • Programa na linguagem C++
  • Compilador
  • Programa, composto por códigos de máquina
Etapas de compilação para a linguagem C++

O programa resultante pode ser executado imediatamente no computador. A desvantagem dessa abordagem é que o código do programa gerado depende muito do processador e do sistema operacional. Um programa compilado para Windows não funcionará em um telefone com Android.

Se você escreveu um programa para Android, ele no sistema operacional Windows não vai iniciar!

Mas o Java tem uma abordagem muito mais inovadora.

  • Programa na linguagem Java
  • Compilador Java
  • Programa, composto por códigos especiais (bytecode)
  • Java VM
  • Programa, composto por códigos de máquina
Etapas de compilação para a linguagem Java

O compilador Java não compila todas as classes em um único programa de códigos de máquina. Em vez disso, ele compila cada classe separadamente e não em códigos de máquina, mas em um código intermediário especial (bytecode). A compilação para código de máquina é feita na execução do programa.

Mas quem compila o programa em código de máquina quando ele é executado?

Para isso existe um programa especial chamado JVM (Java Virtual Machine) — Máquina Virtual Java. Primeiro você a inicia e, depois, o programa composto por bytecode. E a JVM, antes de executar o programa desejado, o compila para código de máquina.

Se você tiver um processador potente que suporta um conjunto maior de instruções de máquina, durante a “segunda compilação” será gerado um código de máquina levando em conta especificamente o seu processador e SO. É por isso que o Java às vezes é mais rápido que o C++, que compila diretamente em código de máquina e pode usar apenas as instruções de processador mais difundidas.

2. Erros comuns durante a compilação

Velocidade e otimização de código, por enquanto, não são tão importantes; o que importa é que o compilador verifica seu programa em busca de erros. Ele verifica a correção do código e não deixa passar adiante se encontrar até um errinho.

Exemplo de erro:

Você está tentando atribuir um número a uma variável que só pode armazenar texto.

String userName = 42; // Opa! Não pode fazer isso.

O compilador imediatamente emitirá um erro dizendo que os tipos não correspondem: Cannot implicitly convert type 'int' to 'string'.

Outro exemplo — um erro de digitação no comando println:

System.out.printline("Olá!"); // Erro no nome do método

O compilador dirá: “Não existe esse método — verifique a sintaxe!”

Como ler os erros?

A maioria dos compiladores indica onde está o erro no código e às vezes até sugere opções de correção. Não tenha medo dos erros: cada um deles é um passo rumo ao esclarecimento e a derrotar o seu “chefe” interior.

3. Comentários

Então, imagine: você está escrevendo um programa complexo. Tudo funciona, você é um gênio! Mas, um mês depois, você abre aquele código e... não entende nada. Umas linhas de código aqui, uma variável estranha ali. Na cabeça só: “Com certeza isso foi escrito por qualquer um, menos por mim!”. É aí que os comentários salvam o dia.

Comentários são como bilhetes nas margens de um livro didático ou recados na geladeira (“Cerveja. Não beber. Para amanhã!”). O compilador os ignora, as pessoas — o contrário. Comentários permitem explicar o sentido do código, marcar detalhes importantes e até “desligar” trechos do programa sem apagá-los.

Importante: nenhum compilador lê seus comentários — eles são completamente ignorados!

Comentários de uma linha

No Java há dois tipos de comentários — de uma linha e de múltiplas linhas. Os de uma linha começam com duas barras // e vão até o fim da linha. Tudo o que vem depois de // é considerado comentário e é totalmente ignorado pelo compilador.

Exemplo:

System.out.println("Olá, mundo!"); 	// Isto imprime uma saudação na tela

Aqui, // Isto imprime uma saudação na tela — é um comentário. Se algo no código não parece claro, escreva assim explicando para que serve a linha!

Mais um exemplo:

int x = 42; 	// Valor da idade do programador

Você também pode escrever comentários de uma linha em linhas separadas:

// Inicialização da variável com o nome do usuário
String userName = "Vasya";

É quase como falas num roteiro: o comentário explica o quê e o porquê.

Comentários de múltiplas linhas

E se você tiver muita coisa acumulada? Uma história de verdade? Para isso existem os comentários de múltiplas linhas, que começam com /* e terminam com */. Tudo entre esses símbolos é ignorado pelo compilador, mesmo que sejam várias linhas.

Exemplo:

/*
  Aqui exibimos o nome do usuário na tela.
  Se o nome estiver ausente, escreveremos "Convidado".
*/
System.out.println("Digite seu nome:");

Ou assim:

int age = 18; /* Valor inicial da idade
                 para o novo usuário */

Atenção: não é possível aninhar comentários de múltiplas linhas dentro de outros. Não tente ser mais esperto que o compilador — isso não vai funcionar.

Ilustração:

Tipo Sintaxe Exemplo
De uma linha
// comentário
int x = 1; // explicação
De múltiplas linhas
/* qualquer coisa aqui */
/* aqui você pode explicar tudo o que quiser */

4. Exemplos da vida real

“Desativar” uma linha de código:

Às vezes você quer desativar temporariamente algum fragmento de código. Comentários são perfeitos para isso:

// System.out.println("Texto que não é necessário temporariamente");

A linha ficou, mas o compilador não a “vê”.

Anotações TODO e FIXME

Programadores também são gente, e às vezes é preciso lembrar a si mesmo que o código ainda não está pronto ou que há um bug aqui. Para isso, costuma-se escrever:

// TODO: implementar verificação de entrada vazia
// FIXME: esta função calcula a soma de forma incorreta

Muitos editores e IDEs até destacam essas palavras!

Programadores brincam

// Eu não me responsabilizo por este código. Fui obrigado a escrevê-lo contra a minha vontade.
// Querido, eu_sou_do_futuro! Por favor, me perdoe por este código.
// Se eu vir isso de novo, vou ter que começar a levar uma arma para o trabalho.
// Se esta condição algum dia for satisfeita, por favor me avise pelo tel. xxx-xxx-xxx por uma recompensa.
// Caro programador:
//
// Quando você terminar de "otimizar" esta sub-rotina
// e entender o quão grande foi o erro de fazer isso,
// por favor, aumente o contador abaixo como um aviso
// para o próximo cara:
//
// kolichestvo_chasov_potrachennykh_zdes = 42
// Quando comecei a escrever isto, só Deus e eu entendíamos o que eu estava fazendo. 
// Agora só restou Deus
// Às vezes me parece que o compilador ignora todos os meus comentários
// Dedico todo o meu código, todo o meu trabalho à minha esposa Darlin, que 
// terá que sustentar a mim, nossos três filhos e o cachorro quando 
// isso for para produção.

Sim, comentários podem ser muito engraçados. Afinal, são escritos por pessoas de verdade.

1
Tarefa
JAVA 25 SELF, nível 1, lição 5
Bloqueado
Notas pessoais 📝
Notas pessoais 📝
1
Tarefa
JAVA 25 SELF, nível 1, lição 5
Bloqueado
Bloco de código para testes 🛠️
Bloco de código para testes 🛠️
1
Tarefa
JAVA 25 SELF, nível 1, lição 5
Bloqueado
Correção de erros 🐛
Correção de erros 🐛
1
Pesquisa/teste
Comandos e o primeiro programa, nível 1, lição 5
Indisponível
Comandos e o primeiro programa
Comandos e o primeiro programa
Comentários (3)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Leonardo Delfino Nível 2, Brazil
26 junho 2026
não da tem um contradição no codigo "O programa deve executar sem problemas e não deve imprimir nada no console." tbm resposavel pelo erro
1 maio 2026
"O programa deve executar sem problemas e não deve imprimir nada no console." Creio que esse seja o problema, no próprio comando ele mesmo diz que "executa sem problema" e em seguida " não deve imprimir nada" é um paradoxo no comando .
Paulo Lima Nível 2, Brazil
31 maio 2026
Vdd!