Upload
internet
View
120
Download
6
Embed Size (px)
Citation preview
Aula 4 – Java – Prof. Marcelo Heitor
# Instruções de Repetição – Loops;# Princípios básicos de repetição controlada por contador e sentinela;# Formato geral das instruções de repetição;# Exemplos 1, 2 e 3;# Instruções break e continue;# Exemplos 4 e 5;# Exercícios;# Desafio: Grade de Notas;
Instruções de Repetição - Loops
→ Uma instrução de repetição (loop) permite especificar que um programa repita uma ação enquanto alguma condição satifaz uma expressão. Observe um pseudocódigo:
Enquanto houver mais itens na minha lista de comprasCompre o próximo item e risque-o da minha lista.
→ Um erro comum de programação, nas instruções de repetição, é não haver um trecho de código que torne a expressão que está sendo avaliada como condição que não mais satisfaz tal expressão. Isso é necessário para que o código não gere uma anomalia conhecida como: “loop infinito”.
Por exemplo, no pseudocódigo acima, se não houvesse a parte que diz: “risque-o da minha lista”, os itens nunca seriam esgotados o que poderia levar à uma lista sem fim.
Em java, temos a disposição, 4 intruções de repetição:
while (enquanto); do-while (faça-enquanto); for (para); * for each (Para cada, desde java 5);
* Será visto quando estudarmos Arrays e Coleções;
Princípios básicos de repetição controlada por contador e sentinela
Repetições controladas requerem:
→ Uma variável de controle (contador do loop);→ O valor inicial da variável;→ O operador de incremento ou decremento;→ A condição de continuação do loop;
Formato geral das instruções de repetição
→ Formato geral da instrução “while”; → Executada enquanto a “condiçãoDeContinuação” for satisfatória;→ Frequentemente chamada de instrução por sentinela.
inicialização;
while ( condiçãoDeContinuação ) {
instruções; incremento ou decremento;
}
→ Formato geral da instrução “do while”;→ Atua de forma similar ao “while”; → Entretanto, mesmo que a “condiçãoDeContinuação” não seja satisfatória, o loop será executado ao menos uma vez;→ Frequentemente chamada de instrução por sentinela.
inicialização;
do {
instruções; incremento ou decremento;
} while ( condiçãoDeContinuação );
→ Formato geral da instrução “for”;→ Sintaxe diferente das anteriores;→ Frequentemente chamada de instrução por contador.
for (inicialização; condiçãoDeContinuação; inc / dec) {
instruções;
}
Atenção!
inicialização → Ocorre apenas 1 vez;condiçãoDeContinuacao → Ocorre todas as vezes;inc / dec → Todas as vezes ao final do loop;
Exemplos 1, 2 e 3 – Contador de números de 1 até 10.
Exemplo 1: usando o loop “while”:
public class LoopWhile { public static void main(String[] args) { int contador = 1;
while (contador <= 10) { System.out.printf(" %d", contador); contador++; } }}
Saida:
1 2 3 4 5 6 7 8 9 10
Exemplo 2: usando o loop “do while”:
public class LoopDoWhile { public static void main(String[] args) { int contador = 1;
do { System.out.printf(" %d", contador); contador++; } while (contador <= 10); }}
Saida:
1 2 3 4 5 6 7 8 9 10
Exemplo 3: usando o loop “for”:
public class LoopFor { public static void main(String[] args) { for(int contador = 1; contador <= 10; contador++) { System.out.printf(" %d", contador); } }}
Saida:
1 2 3 4 5 6 7 8 9 10
Instruções break e continue
A instrução “break”:→ Executada nos loops ou até mesmo na instrução “switch”;→ Ocasiona saida imediata da instrução;→ Fluxo continua a partir da primeira linha de código após a instrução de controle.
A instrução “continue”:→ Usada em loops;→ Força a interrupção do código indo para a próxima iteração;
Exemplos 4 e 5 – Usando break e continue
Exemplo 4: usando “break”:
public class Break { public static void main(String[] args) { for (int i=1; i<=10; i++) { if (i = = 5) { break; } System.out.printf(" %d", i); } System.out.println("\nUsado break...");
}}
Saida:
1 2 3 4Usado break...
Exemplo 5: usando “continue”:
public class Continue { public static void main(String[] args) { for (int i=1; i<=10; i++) { if (i = = 5) { continue; } System.out.printf(" %d", i); } System.out.println("\nUsado continue para pular a volta");
}}
Saida:
1 2 3 4 6 7 8 9 10Usado continue para pular a volta
Exercícios
1 – Construa um programa que receba um número inteiro e apresente como saida a tabuada de 1 … 10 desse número;
Exemplo:
1 x 1 = 11 x 2 = 21 x 10 = 10
2 – Construa um programa que apresente na tela a tabuada de 1 … 10 do intervalo entre 1 e 10;
Exemplo:
1 x 1 = 11 x 2 = 21 x 10 = 10
2 x 1 = 22 x 2 = 42 x 10 = 20
10 x 1 = 1010 x 2 = 2010 x 10 = 100
3 – Construa um programa que receba 100 números e imprima na tela apenas os números pares;
Desafio: Grade de Notas:
Construa um programa que apresente na tela uma saída parecida como a que segue:
Digite notas inteiras entre 0-100Digite qualquer valor não inteiro para sair.100908060sairRelatório de Notas ----------------------------Total de 4 notas digitadas foi 330A média geral da turma foi 82,50Número de estudantes por grade:Grade A (90 - 100): 2Grade B (80 - 89): 1Grade C (70 - 79): 0Grade D (60 - 69): 1Grade E (inferior 60): 0