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 compras
Compre 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:
}
1234
Usado 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 10
Usado 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:
1x1=1
1x2=2
1 x 10 = 10
2 – Construa um programa que apresente na tela a tabuada de 1 …
10 do intervalo entre 1 e 10;
Exemplo:
1x1=1
1x2=2
1 x 10 = 10
2x1=2
2x2=4
2 x 10 = 20
10 x 1 = 10
10 x 2 = 20
10 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-100
Digite qualquer valor não inteiro para sair.
100
90
80
60
sair
Relatório de Notas ---------------------------Total de 4 notas digitadas foi 330
A média geral da turma foi 82,50
Número de estudantes por grade:
Grade A (90 - 100): 2
Grade B (80 - 89): 1
Grade C (70 - 79): 0
Grade D (60 - 69): 1
Grade E (inferior 60): 0
Download

Instruções de Repetição - Loops