2  Primeiros passos com Java

Do código-fonte ao primeiro incremento do chatbot

2.1 Objetivos de aprendizagem

Ao concluir este capítulo, você deverá ser capaz de:

  • explicar o papel do JDK, do compilador e da JVM;
  • criar, compilar e executar uma classe Java;
  • distinguir erros de compilação, execução e lógica;
  • seguir as convenções básicas de nomes e arquivos.

2.2 Java e sua plataforma

O arquivo Java é compilado pelo javac em bytecode, que a JVM executa.

Do código-fonte à execução de um programa Java.

Java combina uma linguagem de programação com uma plataforma de execução. O código escrito em um arquivo .java é transformado pelo compilador javac em bytecode, armazenado em um arquivo .class. A JVM executa esse bytecode no sistema operacional.

O JDK reúne o compilador, a JVM e as demais ferramentas necessárias para desenvolver e executar programas. Em instalações modernas, basta instalar um JDK compatível; não é necessário procurar separadamente um “JRE para desenvolvimento”.

~{mermaid} flowchart LR A[“Código-fonte (.java)”] –>|javac| B[“Bytecode (.class)”] B –>|java / JVM| C[“Programa em execução”]~

Este livro adota Java 21 ou superior. Confirme o ambiente no terminal:

java -version
javac -version

2.3 Primeiro programa

Uma estudante comemora o primeiro programa enquanto o JavaBot explica que imprimir Olá mundo é o começo de uma conversa.

Quadrinho: o primeiro diálogo com Java.

Crie um arquivo chamado Capitulo01PrimeiroPrograma.java:

public class Capitulo01PrimeiroPrograma {
    public static void main(String[] args) {
        System.out.println("TutorJavaBot: Olá!");
        System.out.println("TutorJavaBot: Vamos estudar Java?");
    }
}

A classe pública e o arquivo precisam ter o mesmo nome, inclusive no uso de letras maiúsculas e minúsculas.

Compile e execute:

javac Capitulo01PrimeiroPrograma.java
java Capitulo01PrimeiroPrograma

Saída esperada:

TutorJavaBot: Olá!
TutorJavaBot: Vamos estudar Java?

O método main é o ponto de entrada:

  • public: pode ser chamado pela JVM;
  • static: não exige a criação prévia de um objeto;
  • void: não devolve um valor;
  • String[] args: recebe argumentos da linha de comando.

2.4 Convenções iniciais

Em Java:

  • classes usam PascalCase, como TutorJavaBot;
  • variáveis e métodos usam camelCase, como nomeUsuario;
  • constantes usam letras maiúsculas, como LIMITE_TENTATIVAS;
  • instruções normalmente terminam com ponto e vírgula;
  • chaves delimitam blocos de código.

Comentários devem explicar intenção ou contexto, não repetir uma instrução evidente:

// Esta mensagem identifica o personagem que acompanhará o livro.
System.out.println("TutorJavaBot: Olá!");

2.5 Como interpretar erros

Um erro de compilação impede a criação do arquivo .class, por exemplo uma chave ausente. Uma exceção em tempo de execução acontece depois que o programa começa, como uma conversão numérica inválida. Um erro de lógica não interrompe o programa, mas produz resultado incorreto.

Leia sempre a primeira mensagem do compilador, identifique arquivo e linha e corrija uma causa por vez.

2.6 Evolução do projeto: versão 1

O chatbot ainda não recebe dados. Neste primeiro checkpoint, ele apenas:

  1. apresenta seu nome;
  2. explica o objetivo da conversa;
  3. encerra normalmente.

O exemplo completo está em examples/src/Capitulo01PrimeiroPrograma.java.

2.7 Prática verificável

  1. Acrescente uma terceira mensagem com os comandos que serão implementados no livro.
  2. Renomeie a classe e o arquivo de forma consistente.
  3. Remova um ponto e vírgula, observe o erro e depois restaure o código.

Critérios de conclusão:

  • o comando javac termina sem mensagens;
  • a classe executada tem o mesmo nome do arquivo;
  • as três mensagens aparecem na ordem prevista.
NotaAntes de avançar

Você deve conseguir explicar, sem consultar o texto, a sequência arquivo .java → compilador → arquivo .class → JVM.