Prog. I - Aula 2

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 23

Linguagem de Programação – Aula 2

Análise e Desenvolvimento de Sistemas/Parangaba


Ronnison Reges Vidal
Ceará, 13 de Fevereiro de 2016
DROPBOX

https://goo.gl/oYw3zf
OBJETIVOS

l O aluno deverá ser capaz de:


 Ler, interpretar e criar programas em Java que utilizem todo o

conteúdo ensinado na aula 1 (1a. semana), além de entrada de


dados via console com a classe Scanner.
 Ler, interpretar e criar programas em Java que utilizem o

comando switch ... case, os comandos de repetição (for, while e


do...while), break, continue e conversão de tipos.
ENTRADA DE DADOS

l Classe Scanner
 É usada para realizar a entrada de dados.

 Pertence ao pacote java.util.

 Por não estar definido em uma biblioteca padrão, para usar a

classe Scanner precisamos informar onde essa ela se encontra.


Isso é feito através do comando import:
 import java.util.Scanner;

 Existem vários métodos na classe Scanner para fazer a entrada

de dados:
 ler um int: nextInt()

 ler um double: nextDouble()

 ler um float: nextFloat()

 ler um long: nextLong()

 ler uma string: nextLine()


ENTRADA DE DADOS

l Exemplo:
 import java.util.Scanner;

 public class Leitura {

 public static void main(String [] args) {

 int idade;

 Scanner teclado = new Scanner(System.in);

 System.out.println("Qual a sua idade ? ");

 idade = teclado.nextInt();

 System.out.println("Idade = " + idade);

 } // fim do metodo main

 } // fim da classe
SAÍDA DE DADOS

l Método printf
 Permite trabalhar como a função printf da linguagem C,

especificando o formato de impressão. Usa-se %f para ponto


flutuante, %s para string. Se quisermos especificar o número de
casas decimais, devemos colocar o número de casas entre o % e
o f.
 Exemplo : Mostrar o valor da variável media, previamente

definida, com duas casas decimais. Note que média é do tipo


float ou double.
 System.out.printf("Média = %.2f ", media);

 //Veja que não há + como no print ou println


ESTRUTURA DE DECISÃO

l Comando switch
 É um comando de seleção semelhante ao if-else. Entretanto, ele

é mais recomendado quando temos muitos caminhos possíveis a


partir de uma única condição, em testes de igualdade.
 A expressão do switch tem que ser, obrigatoriamente, do tipo

caracter ou inteiro (byte, short, int ou long).


 Sintaxe:

 switch(expressão)

 {

 case opção1: ...

 case opção2: ...

 case opção3: ...

 default: ...

 }
ESTRUTURA DE DECISÃO

l Importante:
 1. Quando o switch encontra uma opção igual ao valor da

expressão, ele executa todos os comandos daí em diante até


encontrar o comando break.
 2. O case pode ter um comando vazio.

 3. O default é alcançado quando nenhum case é satisfeito.


ESTRUTURA DE DECISÃO

l Exemplo:
 switch(caracter)

 {

 case 'a':

 case 'e':

 case 'i':

 case 'o':

 case 'u': System.out.println("É uma vogal");

 break;

 case 'x': System.out.println("Letra X");

 default: System.out.println("Letra inválida");

 }
CONVERSÃO DE TIPOS

l Se uma expressão com valor mais significativo for atribuída a uma


variável de tipo menos significativo, poderá haver perda de dados
(truncagem). Nesse caso, o Java acusa um erro de compilação.
l A perda se dá na seguinte ordem :
 double -> float -> long -> int -> short -> byte

l Exemplos:
 Se o resultado de uma expressão for do tipo float, poderá haver

perda de dados caso ela seja atribuída a uma variável do tipo int.
 Se uma expressão resultar em um valor do tipo double, poderá

haver perda caso este seja atribuído a uma variável do tipo int ou
float.
CONVERSÃO DE TIPOS

l Para forçarmos a conversão de um tipo para outro usamos o


operador de casting.
l Existem duas sintaxes:
 (tipo) variável converte a variável para o tipo
 (tipo) (expressão) converte o resultado da expressão para
o tipo
l Exemplos:
 int i = 6, j = 3, k = 4;

 (float) i / j converte i para 6.0 e o resultado é 2.0

 (float)(i) / k converte i para 6.0 e o resultado é 1.5

 (float)(i / k) converte 1 para 1.0, ou seja só faz o cast depois da

divisão
ESTRUTURAS DE CONTROLE :
COMANDO WHILE

l Avalia uma expressão lógica e executa um bloco de comando


enquando ela for verdadeira
 O bloco é executado ZERO ou mais vezes.

l Sintaxe:
 while (expressao_logica)

 comando;

 ou

 while (expressao_logica)

 bloco_de_comandos
ESTRUTURAS DE CONTROLE :
COMANDO DO .. WHILE

l Avalia uma expressão lógica e executa um bloco de comando


enquanto ela for verdadeira.
l O bloco é executado UMA ou mais vezes.
l Sintaxe:
 do {

 bloco_de_comandos

 } while (expressao_logica);
ESTRUTURAS DE CONTROLE :
COMANDO FOR

l Executa um bloco de comandos enquanto uma expressão


booleana for verdadeira.
l É composto de 3 partes, onde nenhuma dessas partes é
obrigatória.
l Sintaxe:
 for (expr_inicializacao; expressao_logica; expr_incremento)

 Comando;

l for (expr_inicializacao; expressao_logica; expr_incremento)


l {
l bloco_de_comandos
l }
ESTRUTURAS DE CONTROLE :
COMANDO FOR

l A execução do for se dá da seguinte forma:


 1. Executa a expressão de inicialização

 2. Testa a expressão lógica. Se for FALSA termina o for

 3. Executa o bloco de comandos

 4. Executa a expressão de incremento

 5. Volta para o passo 2

l for (expr_inicializacao; expressao_logica; expr_incremento)


l {
l comando1;
l comando2;
l }
ESTRUTURAS DE CONTROLE :
COMANDO FOR

l Assim, o comando for:


 for (expr_inicializacao; expressao_logica; expr_incremento)

 {

 comando1;

 comando2;

 }

l é equivalente a:
 expr_inicializacao;

 while(expressao_logica) {

 comando1;

 comando2;

 expr_incremento;

 }
COMANDOS DE INTERRUPÇÃO EM LOOPS : BREAK E CONTINUE

l 1) Comando break em loop


 O comando break força a saída do loop mais interno de um

comando de repetição (while, do..while ou for)


 Exemplo:

 int n;
 while(...)
 {
 ...
 for (...)
 {
 ...
 if (n == 0)
 break;
 //sai do for quando a condição do if for verdadeira
 n++;
 }
 System.out.println(n);
 }
COMANDOS DE INTERRUPÇÃO EM LOOPS : BREAK E CONTINUE

l O comando continue força o início da próxima interação do loop


mais interno de um comando de repetição (while, do..while ou for) .
 Exemplo:

 int n;
 while(...)
 {
 …
 for (...)
 {
 n = ...;
 if (n == 0)
 continue;
 ...
 }
 if (n < 0)
 continue;
 ...
 }
COMANDOS DE INTERRUPÇÃO EM LOOPS : BREAK E CONTINUE

l Comentários : Com relação ao último exemplo com continue ...


Para o comando for executa a expressão de incremento e depois
testa a expressão lógica. No while e do..while reinicia a iteração
testando a operação lógica.
EXERCÍCIOS

l Exercícios :
l Em cada caso, faça um programa em Java para :
l 1) Ler dois valores inteiros e imprimir o resultado da soma,
subtração, multiplicação, quociente e resto da divisão.
l 2) Ler dois valores reais e imprimir o resultado da soma, subtração,
multiplicação e divisão.
l 3) Ler o raio de um círculo. Em seguida, imprima o comprimento e
a área do círculo que possui esse raio.
EXERCÍCIOS

l 4) Qual o resultado das expressões abaixo?


l 5*4/6+7
l 5 * 4 / (6 + 7)
l 5 * 4.0 / 6 + 7
l 5*4%6+7
l 5 * 4 / (float)6 + 7
l (4 / 3) + (3.0 * 5)
l (4 / 3.0) + (3 * 5)
l (int)(4 / 3.0) + (3 * 5)
l 5) Ler um número inteiro e verificar se é ou não múltiplo de 5,
imprimindo mensagem para cada caso.
l 6) Ler um caracter op representando uma operação aritmética (+, -,
*, /) e em seguida dois números reais a e b. Imprimir a expressão
matemática junto com o seu resultado no formato: a op b =
resultado
EXERCÍCIOS

l 7) Ler um número de alunos n. Em seguida, ler as notas dos n


alunos e imprimir, ao final, a média da turma. Faça uma solução
com for e outra solução com while.
l 8) Ler notas de alunos até que o usuário digite -1. Ao final imprimir
a quantidade de alunos, a média da turma, a maior nota e a menor
nota.
Obrigado!

Você também pode gostar