Aula 4 – Java – Prof. Marcelo Heitor # Instruções de Repetição – Loops; # Princípios...

24
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;

Transcript of Aula 4 – Java – Prof. Marcelo Heitor # Instruções de Repetição – Loops; # Princípios...

Page 1: 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.

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;

Page 2: 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.

Instruções de Repetição - Loops

Page 3: 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.

→ 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.

Page 4: 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.

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;

Page 5: 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.

Princípios básicos de repetição controlada por contador e sentinela

Page 6: 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.

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;

Page 7: 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.

Formato geral das instruções de repetição

Page 8: 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.

→ 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;

}

Page 9: 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.

→ 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 );

Page 10: 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.

→ 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;

Page 11: 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.

Exemplos 1, 2 e 3 – Contador de números de 1 até 10.

Page 12: 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.

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

Page 13: 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.

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

Page 14: 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.

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

Page 15: 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.

Instruções break e continue

Page 16: 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.

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;

Page 17: 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.

Exemplos 4 e 5 – Usando break e continue

Page 18: 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.

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...

Page 19: 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.

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

Page 20: 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.

Exercícios

Page 21: 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.

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

Page 22: 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.

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

Page 23: 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.

3 – Construa um programa que receba 100 números e imprima na tela apenas os números pares;

Page 24: 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.

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