Você está na página 1de 27

Programação Orientada a Objetos

Loop for e for each

Definição
Sintaxe
Exemplos
Exercicios
Programação Orientada a Objetos

Definição – Loop for

O loop for é uma estrutura de repetição comum. Isso ajuda a iterar por meio de uma instrução ou um conjunto de instruções no
programa. A sintaxe do loop for é a seguinte.

❑ A instrução 1 é executada (uma vez) antes da execução do bloco de código.

❑ A instrução 2 define a condição para executar o bloco de código.

❑ A instrução 3 é executada (todas as vezes) após a execução do bloco de código.


Programação Orientada a Objetos

Como funciona – Loop for

1. A inicialização (instrução 1) ocorre primeiro.


2. Em seguida, a expressão de teste (declaração 2) é verificada. Se a resposta
avaliada for verdadeira, o código dentro do loop for é executado.
3. No final da última instrução do loop for, a expressão de atualização
(declaração 2) é avaliada.
4. Em seguida, a expressão de teste (declaração 2) é avaliada novamente. Se for
verdade, o código dentro do loop for é executado. No final do loop for, a
expressão de atualização é avaliada novamente e verificada com a expressão
de teste.

Este processo se repete até que a expressão de teste se torne falsa. Quando
se torna falso, o loop for termina.
Programação Orientada a Objetos

Características - Loop for

1) Deve ser sempre fornecida uma expressão no for.

2) Múltiplas variáveis ​podem ser inicializadas.

3) Pode ser declarada novamente uma variável no bloco de inicialização.

4) As variáveis ​declaradas no bloco de inicialização devem ser do mesmo tipo.

5) Variáveis ​no loop são acessíveis apenas dentro do loop.


Programação Orientada a Objetos

Exemplo 1 - Exibir um texto cinco vezes


Programação Orientada a Objetos

Exemplo 1 - Aqui está como este programa funciona.

Iteration Variable Condition: i <= n Action


i=1 Java is fun is printed.
1st true
n=5 i is increased to 2.

i=2 Java is fun is printed.


2nd true
n=5 i is increased to 3.

i=3 Java is fun is printed.


3rd true
n=5 i is increased to 4.

i=4 Java is fun is printed.


4th true
n=5 i is increased to 5.

i=5 Java is fun is printed.


5th true
n=5 i is increased to 6.
i=6
6th false The loop is terminated.
n=5
Programação Orientada a Objetos

Exemplo 2 - Exibir números de 1 a 5


Programação Orientada a Objetos

Exemplo 2 - Aqui está como este programa funciona.

Iteration Variable Condition: i <= n Action


i=1 1 is printed.
1st true
n=5 i is increased to 2.

i=2 2 is printed.
2nd true
n=5 i is increased to 3.

i=3 3 is printed.
3rd true
n=5 i is increased to 4.

i=4 4 is printed.
4th true
n=5 i is increased to 5.

i=5 5 is printed.
5th true
n=5 i is increased to 6.

i=6
6th false The loop is terminated.
n=5
Programação Orientada a Objetos

Exemplo 3 - Exibir Soma de n Números Naturais


Programação Orientada a Objetos

Exemplo 3 - Aqui está como este programa funciona.

❑ Aqui, o valor da soma é 0 inicialmente.

❑ Em seguida, o loop for é iterado de i = 1 a 1000. Em cada iteração, ii é adicionado à soma e o seu valor é aumentado em
1.

❑ Quando i se torna 1001, a condição de teste é falsa e a soma será igual a 0 + 1 + 2 + .... + 1000.
Programação Orientada a Objetos

Exemplo 3 - Exibir números de 1 a 5

O programa acima para somar a soma de números naturais também pode ser es:crito como
Programação Orientada a Objetos

Definição - Loop for each

O loop foreach é uma maneira conveniente de recuperar elementos de uma matriz ou coleção. Em Java, o loop for-each é
usado para iterar através de elementos de arrays e coleções (como ArrayList). Ele pode ser usado como uma alternativa ao loop
for. É conhecido como loop foreach porque itera por meio de cada elemento da matriz ou da coleção. A sintaxe do loop for each
é a seguinte:
Programação Orientada a Objetos

Definição - Loop for each

❑ array - um array ou uma coleção

❑ variableName - cada item do array/coleção é atribuído a esta variável

❑ type - o tipo de dados da matriz/coleção


Programação Orientada a Objetos

Definição - Loop for each

❑ Começa com a palavra-chave for como um loop for normal.

❑ Em vez de declarar e inicializar uma variável de contador de loop, declaras uma variável que é do mesmo tipo que o tipo

base do array, seguido por dois pontos, que é seguido pelo nome do array.

❑ No corpo do loop, pode-se usar a variável de loop que criamos em vez de usar um elemento de array indexado.

O loop foreach itera por meio de cada elemento e armazena esse elemento no item variável. Em seguida, executa as
instruções dentro do loop foreach.
Programação Orientada a Objetos

Definição - Loop for each

É equivalente a
Programação Orientada a Objetos

Exemplo 4 - Imprimir Elementos de um Array


Programação Orientada a Objetos

Exemplo 4 - Imprimir Elementos de um Array

Aqui, usamos o loop for-each para imprimir cada elemento da matriz de números um por um.

❑ Na primeira iteração, o item será 3.

❑ Na segunda iteração, o item será 9.

❑ Na terceira iteração, o item será 5.

❑ Na quarta iteração, o item será -5.


Programação Orientada a Objetos

Exemplo 5 - Soma dos Elementos da Matriz


Programação Orientada a Objetos

Exemplo 5 - Soma dos Elementos da Matriz


Programação Orientada a Objetos

Exemplo 5 - Aqui está como este programa funciona.

Iteration Variables
number = 3
1
sum = 0 + 3 = 3

number = 4
2
sum = 3 + 4 = 7

number = 5
3
sum = 7 + 5 = 12

number = -5
4
sum = 12 + (-5) = 7

number = 0
5
sum = 7 + 0 = 7

number = 12
6
sum = 7 + 12 = 19
Programação Orientada a Objetos

Limitações de cada loop

❑ Os loops for-each não são apropriados quando você deseja modificar a matriz:

❑ Os loops for-each não acompanham o índice. Portanto, não podemos obter o índice do array usando o loop For-Each:
Programação Orientada a Objetos

Limitações de cada loop

❑ For-each apenas itera para frente sobre a matriz em etapas únicas:

❑ For-each não pode processar duas declarações de tomada de decisão ao mesmo tempo:
Programação Orientada a Objetos

Visão geral e diferença chave – Loop for e for each

❑ Tanto o loop for quanto o loop for each são estruturas de controle usadas para repetir um bloco de instruções.

❑ Existem estruturas de controle de repetição na programação para executar um bloco de instruções repetidas vezes.

❑ Um loop for é uma estrutura de fluxo de controle usada para iteração que permite que o código seja executado

repetidamente. Ele contém a inicialização, a expressão de teste e a expressão de atualização. As instruções a serem

repetidas estão incluídas entre chaves.

❑ O loop for each foi aprimorado. Aumenta a legibilidade do código e é fácil de escrever. A diferença chave entre Loop for e

loop for each é que o loop for ser uma estrutura de controle de propósito geral, enquanto o loop for each é um loop for

aprimorado, aplicável apenas a arrays e coleções.


Programação Orientada a Objetos

Qual é a diferença entre o loop for e o loop foreach?

Loop for Loop for each

Estrutura de controle para especificar a iteração Estrutura de controle para percorrer itens em uma
que permite que o código seja executado matriz ou coleção.
repetidamente.

Pode ser usado para recuperar um determinado Não pode ser usado para recuperar um
conjunto de elementos. determinado conjunto de elementos.

É mais difícil de ler e escrever do que o loop É mais fácil de ler e escrever do que o loop for.
foreach.

É usado como um loop de propósito geral. É usado para arrays e coleções.


Programação Orientada a Objetos

Exemplo 6 - for loop Vs for-each loop


Vamos ver como um loop for-each é diferente de um loop for Java normal. Usando for loop:
Programação Orientada a Objetos

Exemplo 6 - for loop Vs for-each loop


Usando for-each Loop:
Programação Orientada a Objetos

Questões?

Você também pode gostar