teste de software - rosefib.webnode.com.br 1... · entrada e saída de dados em java leitura e...

50
Linguagem Java Rosemary Silveira Filgueiras Melo [email protected] 1 Introdução

Upload: docong

Post on 03-Jan-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Linguagem Java

Rosemary Silveira Filgueiras Melo

[email protected]

1

Introdução

Tópicos abordados

▪ Histórico da Linguagem

▪ Caracterização da Linguagem

▪ Criação de Programa Java inicial

▪ Entrada e Saída em Java

▪ Tipos de dados

2

Histórico da Linguagem

▪ Projeto de construção de nova linguagem financiado pela Sun

Microsystems em 1991, baseado na linguagem C++, com nome

inicial de Oak, depois oficialmente lançada em 1995 como JAVA.

▪ Foco inicial do projeto em integrar vários dispositivos eletrônicos,

entre eles os computadores, por meio de uma mesma linguagem de

programação.

▪ Mudança de rumo do projeto devido o mercado de dispositivos

eletrônicos não evoluir.

▪ Como o avanço da internet, visão de potencial utilização da

linguagem Java para gerar conteúdo dinâmico (interatividade e

animações) às suas páginas.3

Características da Linguagem

▪ Portabilidade

▪ Reusabilidade

▪ Orientada a Objetos

▪ Fortemente Tipada

▪ Case sensitive

▪ Recursos para programação concorrente

4

Características da Linguagem

▪ Portabilidade

✓um mesmo programa java pode ser executado em várias

plataformas diferentes e deverá ter o mesmo comportamento

▪ Reusabilidade

▪ Orientada a Objetos

▪ Fortemente Tipada

▪ Case sensitive

▪ Recursos para programação concorrente

5

Exemplo de Portabilidade

6

Características da Linguagem

▪ Portabilidade

▪ Reusabilidade

✓proposta de reutilizar classes pré-definidas de bibliotecas do

JAVA, assim como definidas pelo usuário.

▪ Orientada a Objetos

▪ Fortemente Tipada

▪ Case sensitive

▪ Recursos para programação concorrente

7

Características da Linguagem

▪ Portabilidade

▪ Reusabilidade

▪ Orientada a Objetos

✓ adota os conceitos do paradigma OO na construção de

programas Java: Classe, Objetos, Encapsulamento, Herança,

Polimorfismo e Visibilidade.

▪ Fortemente Tipada

▪ Case sensitive

▪ Recursos para programação concorrente

8

Características da Linguagem

▪ Portabilidade

▪ Reusabilidade

▪ Orientada a Objetos

▪ Fortemente Tipada

✓declaração das variáveis no código são obrigatória

▪ Case sensitive

▪ Recursos para programação concorrente

9

Características da Linguagem

▪ Portabilidade

▪ Reusabilidade

▪ Orientada a Objetos

▪ Fortemente Tipada

▪ Case sensitive

✓distingue letra maiúscula de minúscula

✓A definição de uma classe Java deve ser iniciada por

letra maiúscula.

▪ Recursos para programação concorrente

10

Características da Linguagem

▪ Portabilidade

▪ Reusabilidade

▪ Orientada a Objetos

▪ Fortemente Tipada

▪ Case sensitive

▪ Recursos para programação concorrente

✓uso de recursos como thread para programação concorrente

11

Criação de Programa Java inicial

12

Comentários:

▪ Todo programa Java consiste em pelo menos uma classe que você define.

▪ Declaração da classe Java contém normalmente um ou mais métodos, um dos métodos que

deve ser chamado de método main( ), ele é o ponto de partida de cada aplicativo.

▪ Por convenção o nome das classes devem começar com letra maiúscula e letra inicial de cada

palavra que eles incluem em maiúsculo.

▪ Nome da classe não deve iniciar por dígito ou espaço em branco.

▪ O método System.out.println exibe um linha de texto na janela de comando

Entrada e Saída de dados em Java

Exibindo uma linha de texto com múltiplas instruções

13

Comentários:

▪ System é uma classe que faz parte do pacote java.lang, única biblioteca do java que não

requer uma declaração import, por padrão ela já é importada em cada programa java.

▪ Método println exibe uma linha de texto na janela de comando e posiciona o cursor no início

da próxima linha na janela de comando.

▪ Método print exibe uma linha de texto na janela de comando sendo que mantém o cursor na

mesma linha em que o texto foi exibido.

Entrada e Saída de dados em Java

Exibindo múltiplas linhas de texto com uma única instrução

14

Comentários:

▪ O comando na linha 9 pode ser também escrito como abaixo:

▪ A sequência de escape \n no string representa o caractere de nova linha.

▪ Outras sequências de escape comuns:

\\ - utilizada para imprimir um caractere de barra invertida

\” – utilizada para imprimir um caractere de aspas duplas

\t – move o cursor da tela para a próxima parada de tabulação

Entrada e Saída de dados em Java

Exibindo dados formatados

15

Comentários:

▪ Utiliza o método printf para gerar as saídas de string “Welcome to” e “Java

Programming!”.

▪ O Java permite que instruções grandes sejam divididas em muitas linhas, só não pode

dividir no meio de um identificador e ou de um string.

▪ Especificadores de formato iniciam com um sinal de porcentagem (%) e são seguidos por

um caractere que representa o tipo de dados.

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

16

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

17

Comentários:

▪ a declaração import ajuda o compilador a localizar uma classe utilizada no

programa, ele refere-se a uma classe predefinida do Java pertencente a algum

pacote.

▪ a linguagem Java oferece um conjunto de classes predefinidas que você pode

reutilizar.

▪ a declaração da linha 3 indica que este exemplo usa a classe Scanner predefinida do

Java do pacote java.util.Scanner

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

18

Comentários:

▪ a declaração na linha 11 especifica que a variável input seja do tipo Scanner.

▪ a classe Scanner permite que um programa leia os dados para utilização no programa,

que pode ser proveniente dos dados digitados pelo usuário ou arquivo do disco.

▪ a variável input é inicializada com o objeto da classe Scanner que lê caracteres

digitados pelo usuário no teclado.

▪ o objeto de entrada padrão System.in permite que aplicativos leiam bytes de informações

digitados pelo usuário.

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

19

Comentários:

▪ As instruções de declaração de variável das linhas de 13-15 indicam que as variáveis

number1, number2 e sum armazenam dados do tipo inteiro.

▪ Os tipos primitivos permitidos no Java são: short, int, long, float, double, boolean,

byte, char.

▪ As linhas 18 e 21 utilizam o método nextInt( ) do valor de input, objeto da classe

Scanner, para obter um valor inteiro digitado pelo usuário.

▪ O programa espera que seja digitado um número inteiro, do contrário dará um erro.

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

20

Comentários:

▪ a linha 23 apresenta a soma dos valores informados pelo usuário e sua atribuição a

variável sum.

▪ a linha 25 utiliza o método System.out.printf para exibir o valor da soma dos dois

números informados.

▪ o método System.out.printf utlitiza o especificador de formato %d como

marcador de lugar para um valor int.

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

21

Comentários:

▪ os comandos das linhas 23 e 25 poderiam ser substituídos pela linha de

comando abaixo e o resultado seria o mesmo.

▪ Outra alternativa é usar o método print ou println como:

System.out.print(“Sum = “ + sum);

Entrada e Saída de dados em Java

Leitura de dados do teclado pelo console

22

Comentários:

A figura acima apresenta outras formas possíveis de ler entradas de dados pelo teclado com a classe Scanner.

Percebe-se que só se consegue ler valores relacionados com os tipos primitivos (exceto com a classe String).

Entrada e Saída de dados em Java

Leitura e saída de dados com a classe JOptionPane

▪ A classe JOptionPane fornece caixas de diálogo pré-construídas tantopara entrada como para saída.

▪ Pertence ao pacote javax.swing do Java.

▪ Apresenta caixas de diálogo Modal - não permite que enquanto odiálogo esteja na tela o usário possa interagir com o restante doaplicativo.

▪ Evitar usá-las excessivamente porque elas reduzem a usabilidade dosaplicativos.

23

Entrada e Saída de dados em Java

Leitura e saída de dados com a classe JOptionPane

▪ As caixas de diálogo da classe JOptionPane são exibidas invocando osmétodos desta classe.

▪ Esta classe só pode ser usada para inserir e exibir valores do tipo String,ao contrário da classe Scanner que aceita vários tipos de valores.

24

Entrada e Saída de dados em JavaLeitura e saída de dados com a classe JOptionPane

25

Entrada e Saída de dados em JavaLeitura e saída de dados com a classe JOptionPane

26

Comentários:

▪ As linhas 10 e 12 declaram as variáveis firstNumber e secondNumber e

atribui a elas o resultado da chamada ao método showInputDialog da classe

JOptionPane.

▪ O método showInputDialog só aceita valores do tipo String.

Entrada e Saída de dados em JavaLeitura e saída de dados com a classe JOptionPane

27

Comentários:

▪ Para realizar o cálculo da soma, é necessário converter as Strings que o

usuário inseriu em valores inteiro.

▪ As linhas 16 e 17 utilizam o método parseInt da classe Integer que converte

String em int.

Entrada e Saída de dados em JavaLeitura e saída de dados com a classe JOptionPane

28

Comentários:

▪ As linhas 22 e 23 utilizam o método showMessageDialog da classe JOptionPane para exibir o

resultado da soma.

▪ Primeiro parâmetro deste método indica onde será posicionada a caixa de diálogo na tela (valor null

indica que a caixa de diálogo será exibida no centro da tela).

▪ Segundo parâmetro indica a string que será exibida o resultado da soma.

▪ Terceiro parâmetro é a String que deve aparecer na barra de títulos em cima do diálogo.

▪ Quarto parâmetro é o tipo de diálogo de mensagem a exibir (PLAIN_MESSAGE - indica que o

diálogo contém somente texto sem ícone)

Entrada e Saída de dados em Java

Leitura e saída de dados com a classe JOptionPane

29

Comentários:

▪ A tabela acima apresenta outros tipos de diálogo de mensagem que podem ser usados

como parâmetro.

Tipos de dados

▪ A linguagem Java é fortemente tipada e possui tipos estáticos(antes de usar qualquer variável será obrigatório declarar avariável e seu tipo)

▪ Java possui um conjunto de tipos necessários para construções básicas da linguagem (tipos primitivos).

▪ Cada tipo primitivo possui um tamanho de memória (em bits) que é usado para armazenar o seu valor.

▪ Eles também possuem uma escala de valores (conjunto de valores específicos).

30

Tipos primitivos do Java

31

Tipos primitivos do Java

• Boolean – só armazena valores do tipo true ou false.

• Char – guarda qualquer caractere Unicode (padrão que permite representar e manipular texto de qualquer escrita existente).

• Byte – aceita números compreendidos entre -127 e 127.

• Short – mesmo propósito do byte, porém guarda o dobro de valores do byte.

• Int – guarda uma quantidade maior de valores inteiros do que o short.

• Float e double – guardam números decimais, porém double guarda valores maiores do que o float.

32

Tipos primitivos do Java

▪ Valores padrão atribuídos as variáveis que foram declaradas e não atribuído valores a ela

33

Tipos primitivos do Java

• Boolean – só armazena valores do tipo true ou false.

• Char – guarda qualquer caractere Unicode (padrão que permite representar e manipular texto de qualquer escrita existente).

• Byte – aceita números compreendidos entre -127 e 127.

• Short – mesmo propósito do byte, porém guarda o dobro de valores do byte.

• Int – guarda uma quantidade maior de valores inteiros do que o short.

• Float e double – guardam números decimais, porém double guarda valores maiores do que o float.

34

Tipos caracteres e Strings

• Os literais dos tipo char e String podem conter qualquer caractereUnicode (tabela padrão de caracteres que engloba um conjunto maiorde caracteres do que a tabela ASCII).

Exemplo de literal tipo caracter:

▪ Pode-se informar diferentemente o caractere entre aspas simples, conforme o primeiro exemplo.

▪ Pode-se usar a sequência “escape para Unicode” (‘\u’) para poder indicar que é um caractere pertencente a tabela Unicode.

35

Tipos caracteres e Strings

Strings em Java

▪ As strings em Java são instâncias de uma classe Java chamada String.

▪ Qualquer string em Java deve ser representada entre aspas duplas.

▪ O literal null pode ser atribuído a qualquer variável que não seja do tipo primitiva.

36

Variáveis e Constantes

Sintaxe para declaração de variáveis

37

Variáveis e Constantes

Sintaxe para declaração de constantes

▪ Toda constante em Java deve ser inicializada pela palavra final.

38

Operadores Aritméticos

39

Operadores Relacionais

40

Operadores Lógicos

41

Estruturas de Decisão

▪ IF

▪ IF-ELSE

▪ SWITCH

42

Estrutura IF

Sintaxe:

▪ A condição do If deve está sempre entre parênteses

43

Estrutura IF-ELSE

Uso do Operador ternário (?:)

▪ Único operador ternário do Java

44

Estrutura IF-ELSE

IF-ELSE ANINHADO

45

Estrutura Switch

▪ Instrução de seleção múltipla que pode realizar diferentes ações baseadas nos possíveis valores de uma variável ou expressão.

▪ Pode ser usado com os tipos: byte, short, char e int, e com a classe String.

▪ Uma declaração IF-ELSE pode testar expressões com base em faixas de valores ou condições.

▪ Switch testa expressões somente baseadas em inteiro, valor enumerado ou String.

▪ Necessidade do uso do comando Break para evitar que todos os cases do switch sejam executados.

46

Estrutura SwitchSintaxe:

47

Estrutura Switch

Sintaxe:

48

Exercício:

1) Faça dois programa que calcule e imprima o produto de três números informados. (uma versão deve realizar a leitura e exibição via console e a outra versão utilizar caixa de diálogo para ler os dados e escrever os resultados).

2) Faça um programa que leia dois números e calcule a soma, multiplicação, divisão e subtração destes números e exiba o resultado. Em seguida crie uma nova versão deste programa para que o usuário possa escolher o tipo de operação deseja e no final exiba o tipo da operação e resultado.

3) Faça um programa que leia um número inteiro, verifique e imprima se ele é par ou ímpar.

49

Exercício:

50