For-Each loop em java - usando diferentes condições - Exemplos

Índice:

Anonim

Introdução ao loop For-Each em Java

Para cada loop foi introduzido em Java a partir do JDK 5. Ele visa a iteração seqüencial através de todos os elementos de uma coleção ou matriz. Também existe em outros idiomas como C #, onde usa a palavra-chave para cada um. No entanto, Java usa a palavra-chave 'for' apenas para implementar para cada loop, diferentemente do C #, mas sua sintaxe difere da convencional para um loop. Esse loop for-each também é conhecido como aprimorado para loop em Java.

Sintaxe

for(type iter_var : Collection) statement_block

A explicação para cada um dos termos usados ​​acima é a seguinte:

  1. 'type' indica o tipo de dados dos objetos do
  2. 'iter_var' indica o nome da variável de iteração que armazena cada valor da coleção à medida que iteramos pelo loop.
  3. 'Coleção' especifica a coleção ou matriz através da qual queremos iterar.
  4. 'bloco de instruções' é o conjunto de instruções que queremos executar para cada iteração do loop.

É essencial observar que o loop for-each acessa os elementos de coleção / array sequencialmente, onde armazena o valor de cada elemento na variável de iteração. A seguir, é apresentado o diagrama de fluxo do loop for-each.

Como você notou, existem certas diferenças sutis entre o loop for e para cada loop. O loop For requer que o número de iterações seja especificado com antecedência. No entanto, esse não é o caso do loop for-each, pois o loop itera do primeiro elemento para o último elemento da Collection / array e não precisa que o número de iterações seja especificado.

Um ponto importante a ser lembrado é que o tipo especificado no loop for-each deve corresponder ao tipo dos elementos na coleção, caso contrário, haverá problemas de compatibilidade.

Exemplos

For loop

Vamos encontrar a idade média de um grupo de pessoas usando o loop for:

Código

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int sum = 0;
System.out.print("Ages of the group are : "); for (int i = 0; i < 10 ; i++)
(
System.out.print(ages(i)+" "); sum += ages(i);
)
System.out.println("\n Average age of the group = " + (sum/10));
)
)

Resultado:

Loop For-Each

Para encontrar a idade média de um grupo de pessoas usando um loop for-each:

Código

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int sum = 0;
System.out.print("Ages of the group are : "); for (int x : ages)
(
System.out.print(x+" "); sum += x;
)
System.out.println("\n Average age of the group = " + (sum/10));
)
)

Resultado:

A saída é a mesma, usando os dois loops vistos nas figuras acima.

Loop Foreach usando Break Statement

É possível reduzir o número de iterações do loop for-each usando uma instrução break. Por exemplo, se queremos encontrar a soma dos 5 primeiros elementos, podemos usar a instrução break da seguinte maneira:

Código

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int ctr = 0, sum = 0;
System.out.print("Ages of the group are : "); for (int x : ages)
(
System.out.print(x+" ");
)
for (int x : ages)
(
if (ctr == 5) break; sum += x;
ctr += 1;
)
System.out.println("\nSum of age of first 5 people of the group = " + sum);
)
)

Resultado:

No loop for-each mencionado acima, x é a variável de iteração que armazena um elemento da matriz por iteração que muda na próxima iteração. Na primeira iteração, x armazena o primeiro elemento da matriz e o último elemento da matriz na última iteração. Diferentemente de loop, onde acessamos os elementos da matriz usando o índice, para cada loop usa a variável de iteração para acessar os elementos.

É necessário tomar cuidado ao usar para cada loop, pois a variável de iteração armazena o valor do elemento da matriz temporariamente, pois é "somente leitura" e a alteração de seu valor não modifica a matriz original. Isso contradiz o loop for, onde a alteração de um elemento modifica a matriz original.

Vamos considerar um exemplo em que adicionamos 5 a cada elemento da matriz. Podemos identificar a diferença na saída no seguinte código de exemplo:

For loop com condição diferente

Código

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
System.out.print("Elements of the array are : "); for (int i = 0; i < 10; i++)
(
System.out.print(ages(i)+" "); ages(i)+= 5;
)
System.out.print("\nNew elements of the array are : "); for (int i = 0; i < 10; i++)
(
System.out.print(ages(i)+" ");
)
)
)

Resultado:

A saída do loop for mostrando a atualização da matriz original

Foreach loop com condição diferente

Código

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
System.out.print("Elements of the array are : "); for (int x : ages)
(
System.out.print(x+" "); x += 5;
)
System.out.print("\nNew elements of the array are : "); for (int x : ages)
(
System.out.print(x+" ");
)
)
)

Resultado:

A saída do loop for-each mostrando nenhuma atualização da matriz original

Coisas para se lembrar sobre o loop For-Each em java

  1. For-Cada loop em java é usado para iterar através de elementos de matriz / coleção em uma sequência.
  2. O loop For-Each em java usa a variável de iteração para iterar sobre uma coleção ou matriz de elementos.
  3. Modificar a variável de iteração não modifica a matriz / coleção original, pois é somente leitura.
  4. O tipo no loop for-each deve corresponder ao tipo dos elementos originais da matriz / coleção.
  5. O loop Foreach não precisa que o número de iterações seja especificado, pois ele itera sobre todos os elementos da coleção.
  6. É possível parar o loop for-each usando uma instrução break.

Artigos recomendados

Este é um guia para o loop For-Each em java. Aqui discutimos o loop For-Each em java com sua implementação de código de diferentes maneiras, com a instrução break e com as várias condições. Você também pode consultar os seguintes artigos para saber mais -

  1. Matriz de impressão em Java
  2. Loops na Programação Java
  3. While Loop em Java
  4. Matrizes 3D em Java
  5. Ferramentas de implantação Java
  6. Matrizes 3D em C ++
  7. For Loop em C
  8. Matrizes na programação Java