Aula de Programacao: Java/Criando e executando o primeiro programa
Java/Criando e executando o primeiro programa
Saltar para a navegação
Saltar para a pesquisa
Para criar o primeiro programa é necessário um editor de texto simples, para a digitação do código-fonte, e o JDK instalado. O procedimento para instalação do JDK é explicado no capítulo anterior.
Índice
Etapas
Etapa 1
No editor de texto digite o código exibido abaixo.public class Teste {
public static void main(String[] args) {
System.out.println("Alô mundo!");
}
}
Teste.java.
Etapa 2
Por meio do terminal entre no diretório onde está o arquivoTeste.java e digite: javac Teste.java
Etapa 3
E por fim, digite:java TesteSerá exibido:
Alô mundo!
Explicações
Não se preocupe em decorar as informações desta seção pois elas serão revistas com maior profundidade nos capítulos correspondentes.Etapa 1
Na 1.ª etapa foi digitado o código-fonte em Java. Código-fonte, à grosso modo, é um conjunto de instruções legíveis por humanos, definidas em uma linguagem de programação, para determinar o que o programa deverá realizar.A primeira linha do código-fonte utiliza a palavra-chave
class para definir uma classe com o nome Teste. O modificador de acesso public, que precede class, não é obrigatório no código acima pois há apenas uma classe sendo definida. [1]
Palavras-chave são palavras que servem como instruções para a linguagem de programação. Essas palavras não devem ser utilizadas para definir identificadores (nomes) de classes e métodos.[2]
Classe é um recipiente de código. Seu corpo, também conhecido como bloco de instruções, é definido entre as chaves de abertura
{ e fechamento }. No código acima o corpo da classe Teste
inicia na primeira linha e termina na última linha. Não definir uma
classe com os delimitadores de bloco de instruções (colchetes) causa um
erro de compilação.
Na segunda linha, temos o método
public static void main(String[] args) dentro do corpo da classe Teste.Método, conhecido em outras linguagens de programação como função, é subconjunto de instruções que pode ser reutilizado. Assim como as classes, métodos também tem um corpo. Não definir um método com os delimitadores de bloco de instruções (colchetes) causa um erro de compilação.
Os modificadores de acesso
public e static e o tipo de retorno void do método main serão abordados no capítulo sobre métodos. Por ora, basta saber que eles são obrigatórios para a compilação do código-fonte. main é o nome do método e (String[] args) define sua lista de parâmetros. [3]
O método main sempre será definido dessa forma para que haja a inicialização do programa. A esses códigos que sempre devem ser repetidos chamamos de código boilerplate.
Dentro do corpo do método main há a instrução
System.out.println("Alô mundo!");. O método println é executado através da referência out localizada na classe System. O método em questão recebe como argumento a String "Alô mundo!".
String é uma sequência de caracteres delimitada com um par aspas duplas
".
Argumento é um valor enviado ao método.[4] É possível alterar o argumento no método print para qualquer outra String.
O código dentro da classe está espaçado em 4 colunas e dentro do método main em 8. A esse espaçamento damos o nome de indentação. A indentação não é obrigatória para o funcionamento do programa, mas é uma boa prática, pois aprimora a legibilidade do código. As instruções inseridas dentro de um bloco de instruções são espaçadas em relação ao próprio bloco. No caso de haver um bloco dentro de um bloco então as instruções dentro do bloco mais interno serão espaçados em 2 níveis. Neste livro é utilizado espaçamento de 4 colunas para cada nível, porém pode-se utilizar qualquer quantidade. É comum que ao invés de espaçamento sejam utilizadas tabulações para definir a indentação.
O nome do arquivo deve ser o mesmo da classe acompanhado da extensão
.java.[5] Java é case-sensitive o que significa que diferencia letras maiúsculas de minúsculas. Logo, alterar a caixa de algum caracter de Teste.java resulta em erro.
Referências
String... args.Mais sobre varargs no capítulo Métodos.
- Apenas no caso da classe ser precedida do modificador
public. Mais informações no capítulo Declarações de Classes.
Etapa 2
No terminal é utilizado o comandojavac Teste.java para compilar as instruções do código-fonte Teste.java em instruções de bytecode do arquivo Teste.class.
javac é o compilador incluído no JDK. Com ele é possível compilar os códigos-fontes
.java em arquivos bytecode de extensão .class. No exemplo, o javac após compilar Teste.java produziu o bytecode Teste.class.
bytecode é um arquivo que contém instruções interpretáveis pela JVM (máquina virtual Java). Um bytecode pode ser executado em qualquer Sistema Operacional que contenha uma JVM, o que significa que se um código-fonte é compilado pelo javac em um Windows, teoricamente esse bytecode resultante poderá ser executado pelo comando java em um Ubuntu.
Etapa 3
O bytecode é executado pela JVM ao comandojava Teste ser disparado.
O comando
java inicia a JVM, que por sua vez irá carregar o bytecode apontado no comando, no caso Teste, irá procurar pelo método main, e caso encontrado, a JVM irá executá-lo.
Ao utilizar o comando java deve-se digitar o bytecode sem a extensão
.class. Caso a extensão seja utilizada, o seguinte erro será reportado por java.
java Teste.class Erro: Não foi possível localizar nem carregar a classe principal Teste.class
Conveções utilizadas neste livro
- Os códigos-fonte e as saídas de texto (mensagens resultantes no terminal) serão dispostos em caixas cinzas como abaixo.
public class Teste {
public static void main(String[] args) {
System.out.println("Exiba isto.");
}
}
Exiba isto.
- As saídas de texto tanto podem conter resultados de métodos como
printquando o programa é compilado e executado com sucesso (como ocorreu acima) quanto podem apresentar erros de compilação, rastreamento de pilha de exceções e erro na chamada de comandos da JDK tal comojava.
Teste.java:1: error: class Test is public, should be declared in a file named Test.java
public class Test {}
Rastreamento de pilha de exceção (do original em inglês: exception stack trace).
Exception in thread "main" java.lang.ArithmeticException: / by zero at Teste.main(Teste.java:3)Erro na sintaxe de comando.
javac: invalid flag: Teste.class Usage: javac <options> <source files> use -help for a list of possible options
- Exceto quando descrito o contrário, todos os códigos ao longo dos próximos capítulos foram escritos dentro do corpo do método main.
System.out.println(42);
42
- Os números iniciando cada linha do código-fonte servem apenas para ser referenciados no texto, não devendo ser digitados.
System.out.println(42);
- Os conceitos apresentados serão destacados em amarelo.
System.out.print("A resposta para a pergunta essencial é: ");
System.out.printf("%d\n", 42);
- Comentários contêm informações importantes sobre o código apresentado.
//Classe e método main omitidos.
System.out.print("A resposta para a pergunta essencial é: ");
- No texto, referências às palavras-chaves serão apresentadas em caixas cinzas em linha como em
class. Os identificadores (nomes) de métodos, classes e similares estarão em negrito como em "método main".
Comentários
Enviar um comentário
De seu comentario acerca desta aula, sua dica, sua critica ou sugestao para que eu possa melhorar o conteudo deste Blog. Obrigado Pela Atencao dispensada boa aula a todos.