Explicações de Java eduardoleal.com

Propaganda
Explicações de Java
eduardoleal.com
Capítulo 1: Introdução. Saída e entrada de dados
Índice de Conteúdos
1. Introdução. Saída e entrada de dados.
2. Instruções condicionais. Vetores e ciclos.
3. Programação orientada a objetos. Classes.
4. Bibliotecas. Nova entrada e saída de dados.
5. Ficheiros.
6. Estudo Futuro
Lista dos Cursos Online
Pág. 1 de 8
Explicações de Java
eduardoleal.com
Capítulo 1: Introdução. Saída e entrada de dados
1.1. Instalar um compilador Java
Frequentemente encontrará páginas na Internet que necessitam de Java instalado para funcionarem
do modo pretendido pelo autor da mesma. Essa instalação a que me refiro permitirá aceder a páginas que
usam Java mas não é suficiente para programar em Java.
Para programar em Java precisa de instalar um compilador Java. Pderá fazê-lo do seguinte modo:
No Ubuntu: (a partir da consola, ser-lhe-á pedida a palavra-passe de root)
$ sudo apt-get install openjdk-7-jdk
No Windows:
Aceder ao site http://www.oracle.com/technetwork/java/javase/downloads/index.html e carregar no
botão Java Platform (JDK). Seguir as instruções.
Depois de instalado um compilador Java pode escrever os seus programas Java usando no Ubuntu,
por exemplo o editor de texto Gedit, ou, no Windows, o editor de texto Bloco de Notas.
Existem ambientes de desenvolvimento integrado (IDE) que permitem escrever os programas de
modo mais fácil, por exemplo, NetBeans ou Eclipse. Nestas notas não será focado o modo de os usar,
apenas como programar, compilar e executar «manualmente».
1.2. Saída de dados
O Java é uma linguagem de programação completamente orientada a objetos. No capítulo 3
explicar-se-á o significado disto mas, para já, há uma consequência imediata disto: todos os comandos
aparecerão ligados a alguma classe. Por exemplo, no programa inicial, para imprimir texto no monitor é
usada a função println() mas usando a instrução System.out.println().
Escreva o código abaixo e guarde num ficheiro de texto não formatado, Progcap1_001.java.
Código Progcap1_001.java
Lista dos Cursos Online
Pág. 2 de 8
Explicações de Java
eduardoleal.com
Neste ficheiro existe uma única classe chamada Progcap1_001 e declarada como sendo public. Num
ficheiro podem existir várias classes mas só uma pode ser public e o nome do ficheiro deve ser igual ao
nome dessa classe public e deve possuir extensão java. Assim como a classe chama-se Progcap1_001
então o ficheiro chamar-se-á Progcap1_001.java. Dirá respeito a esta classe todo o código que se escrever
entre as chavetas da instrução: public class Progcap1_001 { }
Neste primeiro exemplo, dentro da classe é definida uma função chamada main():
public static void main(String args[]) { }
Obrigatoriamente, a função que será executada quando o programa arrancar é a função main(). À
esquerda do nome da função aparecem três palavras: public, static e void. Na função main() não há
escolha possível, tem de ser definida como sendo public, static e void. O significado de public e static só
será clarificado no capítulo 3. Quanto a void, significa que a função não retorna qualquer valor. Entre os
parênteses a seguir ao nome da função aparece uma variável respeitante aos parâmetros introduzidos na
prompt ao executar o programa. Mesmo que não sejam introduzidos parâmetros é preciso declarar essa
variável desse modo. Ainda neste primeiro capítulo será estudado este pormenor.
A instrução que faz com que apareça no monitor o texto é então:
System.out.println(“Este é o meu primeiro programa em Java!”);
Note que a instrução termina com um ponto e vírgula.
Para compilar o programa use na prompt:
$ javac Progcap1_001.java
Se tudo correu bem deverá ter sido criado o ficheiro Progcap1_001.class. De seguida, para executar
o programa use na prompt:
$ java Progcap1_001
Na figura abaixo aparece o resultado esperado.
Execução Progcap1_001
Repare-se que, depois do texto «Este é o meu primeiro programa em Java!» o dólar para sinalizar a
prompt aparece na linha seguinte. Isto é consequência de se ter usado a função println() pois não teria
acontecido caso fosse usada a função print(). Tome também nota que o acento na palavra «é» ficou bem
impresso. Isto depende de vários fatores: sistema operativo, configuração do teclado, etc... . Se isso não
Lista dos Cursos Online
Pág. 3 de 8
Explicações de Java
eduardoleal.com
acontecer no seu caso então o melhor será não os colocar até que consiga resolver esse problema.
1.3. Tipo de dados
Durante a sua execução o programa guarda informação em variáveis. Declarar uma variável é
indicar o tipo dessa variável. No programa Progcap1_002.java listam-se os principais tipos de dados que
uma variável pode assumir em Java. Numa linha, o texto escrito depois de // é ignorado pelo compilador,
são os comentários. Escreva o código e grave num ficheiro chamado Progcap1_002.java.
Código Progcap1_002.java
Como no programa anterior cada instrução termina com ponto e vírgula e pode escrever-se mais do
que uma instrução por linha. Este programa tem três seções: declaração de variáveis, inicialização de
variáveis e saída de dados. Todas as variáveis têm que ser declaradas embora não seja obrigatório que
essa declaração seja no ínicio do programa. Por exemplo, na linha:
int neg, pos;
// -2147483648 a 2147483647
declaram-se duas variáveis do tipo int que serão identificadas por neg e pos. Nestas variáveis podem
Lista dos Cursos Online
Pág. 4 de 8
Explicações de Java
eduardoleal.com
guardar-se valores inteiros entre -2147483648 e 2147483647, inclusivé.
Na seção inicialização de variáveis são atribuidos valores às variáveis. Por exemplo, na linha:
x = 2.321f;
é guardado na variável x o valor 2,321. O Java interpreta 2,321 como sendo do tipo double mas como a
variável x é do tipo float usa-se o f no final. Na linha:
y = -123.21;
já não há necessidade de acrescentar nenhuma letra no final.
Na terceira seção, saída de dados, usa-se, como no programa anterior, a função println() para
apresentar dados no monitor. O sequência \t permite introduzir um caráter de tabulação. O sinal + é uma
operação com duas sequências de texto, a concatenação, e faz a justaposição dessas sequências de texto.
Mesmo quando se usam variáveis de outro tipo o java automaticamente trata como sendo texto.
Proceda como anteriormente, para compilar e executar.
Na figura abaixo aparece o resultado esperado.
Execução Progcap1_002
Na linha:
System.out.println("O produto de "+x+" por "+y+" é "+x*y);
usa-se x*y para multiplicar o valor de x pelo valor de y. Como um fator tem três casas decimais e o outro
tem duas casas decimais então o resultado terá cinco casas decimais: -285,97041. Usando x*y o resultado
aparece com 13 casas decimais porque o java converte o resultado para double. Na linha seguinte:
System.out.println("O produto de "+x+" por "+y+" é "+x*((float) y));
usa-se (float) para converter o valor de y para float e assim o resultado já aparece com cinco casas
decimais. No entanto, o resultado também não tem todas as casas decimais corretas. Este exemplo serve
para chamar a atenção para o trabalho com números com casas decimais em trabalhos de precisão.
Lista dos Cursos Online
Pág. 5 de 8
Explicações de Java
eduardoleal.com
1.4. Entrada de dados
Com o programa seguinte pretende-se conhecer um pouco o tipo de dados char, caráter.
Código Progcap1_003.java
A cada caráter está associado um número inteiro, de 0 a 127, designado por código ASCII
(American Standard Code for Information Interchange). Compile e execute o programa para observar:
Execução Progcap1_003
Na variável c, que é do tipo char, guardou-se o caráter '0' e, ao imprimir, aparece o caráter '0'. Na
variável n que é do tipo int, guardou-se também o caráter '0' mas, ao imprimir, aparece o número 48, que
é o código ASCII do caráter '0'. De modo análogo para o caráter 'A'. Note-se que os carateres são escrito
no código entre plicas, ' '. Não confundir com as aspas que temos usado no texto na função println(), e que
mais tarde chamaremos de strings. Este exemplo permite compreender melhor o que vai ser feito.
Em capítulos posteriores serão abordadas várias formas de introduzir dados no funcionamento do
programa. Para já vamos usar a função read() para esse efeito. Como já acontecia com a função println() é
Lista dos Cursos Online
Pág. 6 de 8
Explicações de Java
eduardoleal.com
preciso uma intrução mais completa, System.in.read(), para ter acesso à função. O programa seguinte
pede ao utilizador a inicial do seu último nome e depois imprime-a no monitor.
Código Progcap1_004.java
No programa Progcap1_004 pela primeira vez se faz uma introdução de dados pelo utilizador.
Consequência imediata é a utilização do comando «throws IOException» a seguir ao nome da função
main() ou de outra qualquer função onde haja introdução de dados. Para ter disponível este comando é
nacessária a primeira linha do programa:
import java.io.IOException;
O programa começa por imprimir texto pedindo ao utilizador que introduza a inicial do seu nome.
De seguida usa-se a função read() para receber o caráter introduzido pelo utilizador. Esta função devolve
um inteiro e por isso usa-se:
c = (char) System.in.read();
para guardar na variável c, do tipo char, o caráter associado ao código ASCII devolvido pela função
read(). Compile e execute para observar algo parecido com:
Execução Progcap1_004
Lista dos Cursos Online
Pág. 7 de 8
Explicações de Java
Lista dos Cursos Online
eduardoleal.com
Pág. 8 de 8
Download