Primeiro Programa em Java usando a linha de comando
Após a instalação do JDK, é possível criar a primeira aplicação na linguagem Java. Para desenvolver programas em Java é necessário escrever o código-fonte, que pode ser criado em qualquer editor de texto comum, por exemplo, Notepad++.
Além disso, o código-fonte deve ser compilado para se tornar uma aplicação executável. O compilador Java é instalado automaticamente com o JDK.
Inicialmente, deve ser criado um diretório no disco rígido para armazenar os arquivos contendo o código-fonte Java, por exemplo, C:/Java. Neste diretório, cria-se um arquivo de texto renomeado para Main.java. Após abrir o arquivo no editor escolhido, adiciona-se o seguinte código:
public class Main {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}Java é uma linguagem orientada a objetos, portanto toda aplicação é estruturada por classes que interagem entre si. Neste exemplo, há apenas uma classe definida, chamada Main.
A declaração da classe inicia com o modificador de acesso public, indicando que ela estará disponível para execução direta a partir da linha de comando. Em seguida, utiliza-se a palavra reservada class, seguida pelo nome da classe (Main). O conteúdo da classe fica delimitado entre chaves {}.
Cada classe pode conter diversas variáveis e métodos. No exemplo, está declarado apenas o método main, que é o método principal em uma aplicação Java, representando o ponto inicial para execução do programa. Por essa razão, é obrigatória a sua presença.
O método main também é declarado com o modificador public. A palavra reservada static indica que o método é estático, ou seja, pode ser chamado diretamente pela JVM, enquanto o termo void indica que ele não retorna nenhum valor. Esses conceitos serão explicados detalhadamente mais adiante.
Dentro dos parênteses, o método possui um parâmetro: String args[]. Este parâmetro representa um array de strings chamado args, que pode armazenar argumentos de texto informados ao iniciar a aplicação por meio da linha de comando. Neste exemplo básico, esses argumentos não são utilizados, porém em programas reais frequentemente são necessários.
O corpo do método vem após a declaração dos parâmetros, delimitado por chaves {}. Nele ficam as instruções que serão executadas. Neste caso, há somente uma instrução, que realiza a impressão de uma mensagem no console utilizando o método interno do Java System.out.println(). Este método recebe como argumento o texto que será exibido. Em Java, toda instrução termina obrigatoriamente com ponto e vírgula (;).
Após criar o código-fonte, é necessário compilá-lo. Para isso, abre-se o Prompt de Comando (Windows) ou Terminal (Linux/MacOS). Primeiramente, navega-se até o diretório onde está localizado o arquivo criado, usando o comando cd:
cd C:\Java
Em seguida, realiza-se a compilação do programa com o seguinte comando:
javac Main.java
O compilador Java corresponde ao comando javac, seguido pelo nome do arquivo com o código-fonte.
Após a compilação, o código Java é transformado em bytecode, resultando em um novo arquivo chamado Main.class no mesmo diretório. Este arquivo contém o bytecode que será executado pela JVM (Java Virtual Machine). Para executar esse arquivo, utiliza-se o seguinte comando:
java Main
Nesse caso, não é necessário especificar a extensão .class.
No sistema operacional Windows, o processo completo fica semelhante ao exemplo abaixo:
C:\Java>javac Main.java C:\Java>java Main Hello World!
Esse processo ocorre em duas etapas: primeiro, o compilador javac gera um arquivo .class contendo o bytecode para a JVM. Em seguida, a JVM executa o bytecode contido nesse arquivo através do comando java.
Contudo, nas versões mais recentes do Java, tornou-se possível executar diretamente o código-fonte sem uma etapa explícita de compilação prévia. O exemplo abaixo ilustra essa situação:
C:\Java>java Main.java Hello World!
Neste caso, o arquivo contendo o código-fonte é passado diretamente ao comando java, sendo executado sem que seja gerado explicitamente um arquivo .class.