Java/Criando e executando o primeiro programa: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Sem resumo de edição
Linha 1:
Para criar o primeiro programa é necessário um editor de texto simples, para a digitação do [[w:Código fonte | código-fonte]], e o '''JDK''' instalado. O procedimento para instalação do '''JDK''' é explicado no [[Java/Pré-requisitos_para_acompanhar_o_livro | capítulo anterior]].
:A criação de um programa pode conter muitas fases: o levantamento do que se quer fazer, do que as pessoas esperam, do custo de desenvolvimento, etc. Como o objetivo inicial deste livro não é explicar esses diversos métodos mas, explicar como se cria programas em Java, vamos simplificar neste momento nas seguintes fases:
:# definição do que o programa irá fazer;
:# criação de um (ou alguns) esboço(s), literal(is) ou gráfico(s), de funcionamento do programa;
:# transformação do programa para a linguagem Java;
:# compilação.
 
== Etapas ==
==Fase 1 - Definição do que o programa irá fazer==
# No editor de texto digite o código exibido abaixo. <source lang=java>
:Definimos nome do o programa, para que serve e para quem ele será destinado:
class Teste {
::OlaMundo.java
::Escrever a mensagem "Olá mundo" na saída padrão.
:O nome do programa deve ser um [[Java/Identificadores|identificador]] válido.
 
==Fase 2 - Criação de um esboço==
:Nosso primeiro programa é muito simples, o esboço seria até desnecessário. Vamos fazer para exemplificar:
 
Olá mundo!
 
==Fase 3 - Transformação do programa para linguagem Java==
 
<source lang="java">
class OlaMundo {
public static void main(String args[]) {
System.out.println("Olá mundo!"); //Imprime na tela
}
}
</source>
 
:{{grifar|Observação|cor=pink}}: o selecionar, copiar e colar do código acima pode não funcionar em todos editores de texto devido às diferenças de codificação de caracteres entre esta página web e o padrão do editor. As diferenças encontradas são entre os caracteres "extendidos", ou seja, os acentuados, sinais gráficos ou letras que não são do alfabeto latino, entre outras.
 
==Fase 4 - Compilação==
 
javac OlaMundo.java
 
=Como e onde o programa Java deve ser digitado?=
:O programa deve ser digitado com um editor de textos (''Bloco de Notas'' do ambiente Windows, por exemplo) e gravado num arquivo com a seguinte sintaxe de nomeação:
 
: <nome do programa>.java
 
:Ou seja, o ''nome do programa'' seguido da extensão '''.java'''.
:Então, nesse primeiro programa, o arquivo que o conterá será chamado de:
 
: Olamundo.java
 
:Note que há diferenciação entre letras maiúsculas e minúsculas, então verifique se a primeira letra do nome do nosso programa é maiúscula ('''Olamundo.java''' é diferente de '''olamundo.java''').
 
===O código-fonte===
:Chamamos de código-fonte o conjunto de instruções, expressões, etc. que estão numa linguagem de computador não compilada, ou seja, cuja tradução para uma linguagem de máquina é necessária. O conjunto de instruções (e outros) em linguagem Java é o nosso código-fonte que deve estar contido no arquivo '''Olamundo.java''':
<source lang="Java">
class OlaMundo {
public static void main(String[] args) {
System.out.println("OláAlô mundo!");
}
}
</source>
#Salve o arquivo com o nome <code>Teste.java</code>.
#Por meio do terminal entre no diretório onde está o arquivo <code>Teste.java</code> e digite: <pre>javac Teste.java</pre>
#E por fim, digite: <pre>java Teste</pre>
#Será exibido: <pre>Alô mundo!</pre>
 
===Compilação= 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.
:O código-fonte deve ser transformado, organizado, numa linguagem mais próxima da linguagem da máquina, para isso se faz a compilação. A compilação em Java não é como a das outras linguagens tradicionais pois ela não traduz o programa para a linguagem de máquina de um determinada linha de processadores ou ambiente operacional comum (Windows, DOS, Linux, etc.) e sim para uma máquina virtual '''JVM''' (Java Virtual Machine), e a instalação do {{w|JDK}} (Java Development Kit) é extremamente necessária, pois o JVM não compila os projetos, apenas executa os projetos prontos. Faça o download do programa clicando [https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u22-oth-JPR@CDS-CDS_Developer AQUI].
:As instruções que podem ser interpretadas (reconhecidas) pela JVM são denominadas ''bytecodes''. Cada ambiente operacional terá sua JVM específica para executar os programas, porém o código em ''bytecodes'' é reconhecido por qualquer JVM. Assim, um mesmo programa Java (código-fonte) pode ser compilado em ''bytecodes'' somente uma vez e ser executado em qualquer JVM de qualquer sistema ou ambiente operacional.
:A compilação do código-fonte Java é feita com o programa ''javac'' de acordo com a sintaxe:
 
javac <nome do programa>.java
 
:Então, para compilar o nosso primeiro programa executamos:
obs: em linha de comando deve-se executá-lo no diretório "bin" do "jdk" informando o caminho do arquivo para o javac --> javac x:\caminhho\arquivo.java
 
javac OlaMundo.java
 
:Será criado um arquivo com a extensão '''.class''' . Este é o arquivo que conterá os ''bytecodes''.
 
===Executando o programa===
:Para executarmos o programa compilado em ''bytecodes'' utilizamos o programa ''java'', segundo a sintaxe:
 
java <nome do programa>
 
:Então, para executar o nosso primeiro programa digitamos:
 
=== Etapa 1 ===
java OlaMundo
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 <code>class</code> para definir uma classe com o nome '''Teste'''. Classe é um recipiente de código. Seu corpo, também conhecido como bloco de instruções, é definido entre os colchetes de abertura <code>{</code> e fechamento <code>}</code> que determinam o começo e o encerramento do corpo. No código acima o corpo da classe '''Teste''' inicia na primeira linha e termina na última linha.
:Não se deve especificar a extensão '''.class''' no caso do programa ser executado num terminal, numa linha de comando (em alguns sistemas operacionais, como o Windows XP, escrever o '''.class''' gera uma mensagem de erro). O comando deve ser digitado na origem do arquivo, raiz ou diretório, onde se encontra o ''.class''
 
O código dentro da classe está espaçado em 4 colunas e 8 colunas. A esse espaçamento damos o nome de [[w:Indentação | 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. 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 seja utilizadas tabulações para definir a indentação.
==Resumindo as etapas de digitação à execução do programa==
* digitar o código-fonte em Java num editor de textos (Bloco de Notas, por exemplo);
* salvar com o nome do programa ('''nome_do_programa''') e a extensão '''.java''';
** é importante que o '''nome_do_programa''' tenha o mesmo nome da classe principal que contém o método principal, ou seja, o mesmo nome da classe que contém a função '''main''';
* compilar com o programa com '''javac nome_do_programa.java''';
* executar com o programa com '''java nome_do_programa'''.
 
Na segunda linha, temos o método <code>main(String[] args)</code> dentro da classe '''Teste'''. Assim como as classes, métodos também tem um corpo. Os modificadores de acesso <code>public</code> e <code>static</code> e o tipo de retorno <code>void</code> serão abordados no capítulo sobre [[Java/Métodos | 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 <code>(String[] args)</code> define sua lista de parâmetros.
== Modelo de classe ==
Esse método sempre será definido dessa forma para que haja a inicialização de um programa. A esses códigos que sempre devem ser repetidos chamamos de código [[w:Boilerplate_code | boilerplate]].
Neste capítulo introdutório e no próximo capítulo ''O básico da linguagem'' os códigos foram desenvolvidos de forma procedural, logo todos os códigos exibidos podem ser inseridos dentro do método '''main''' exibido há pouco.
 
Dentro do corpo do método '''main''' há a instrução <code>System.out.println("Alô mundo!");</code>. O método '''println''' é executado através da referência '''out''' localizada na classe '''System'''. O método em questão é o responsável por exibir a mensagem <code>Alô mundo!</code>.
 
== Conveções utilizadas neste livro ==
{{AutoCat}}
Os códigos são escritos .
 
== Exercícios ==
[[cs:Kurz programování v Javě/Hello World]]
Identação
[[en:Java Programming/First Java Program]]
classe diferindo do arquivo
[[es:Programación en Java/Primer programa]]
[[fr:Programmation Java/Premier programme]]
[[hu:Java Programozás/Az első Java programunk]]
[[it:Java/Primo programma]]