For-hver loop i java - Brug af forskellige betingelser - eksempler

Indholdsfortegnelse:

Anonim

Introduktion til For-hver loop i Java

For hver løkke er blevet introduceret i Java med start fra JDK 5. Det sigter mod at iterere sekventielt gennem alle elementerne i en samling eller array. Det er også der på andre sprog som C #, hvor det bruger nøgleordet for hver. Java bruger dog nøgleordet 'for' kun til at implementere for hver løkke i modsætning til C #, men dets syntaks adskiller sig fra det konventionelle for en løkke. Denne for hver loop er også kendt som forbedret til loop i Java.

Syntaks

for(type iter_var : Collection) statement_block

Forklaringen til hvert af de anvendte udtryk ovenfor er som følger:

  1. 'type' angiver datatypen for objekterne i
  2. 'iter_var' angiver navnet på iterationsvariablen, der gemmer hver værdi af samlingen, når vi itererer gennem løkken.
  3. 'Samling' angiver den samling eller den matrix, som vi vil gentage.
  4. 'statement-block' er det sæt sætninger, som vi ønsker at udføre for hver iteration af løkken.

Det er vigtigt at bemærke, at for-hver loop får adgang til samling / array-elementer i rækkefølge, hvor det gemmer værdien af ​​hvert element i iterationsvariablen. Følgende er flowdiagrammet for for hver loop.

Som du har bemærket, er der visse subtile forskelle mellem for loop og for-hver loop. For loop kræver, at antallet af iterationer skal specificeres på forhånd. Dette er dog ikke tilfældet med for-hver-sløjfe, da løkken iterererer fra det første element til det sidste element i samlingen / arrayen og ikke har brug for antallet af iterationer, der skal specificeres.

Et vigtigt punkt, der skal huskes, er, at den type, der er specificeret i for-hver loop, skal matche typen af ​​elementerne i samlingen, for ellers vil der være problemer med kompatibilitet.

eksempler

Til løkke

Lad os finde gennemsnitsalderen for en gruppe mennesker, der bruger til loop:

Kode

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

Produktion:

For hver sløjfe

Sådan finder du gennemsnitsalderen for en gruppe mennesker, der bruger en for hver løkke:

Kode

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

Produktion:

Outputet er det samme ved hjælp af begge sløjfer, som det ses fra ovenstående figurer.

Foreach loop ved hjælp af Break Statement

Det er muligt at reducere antallet af iterationer af hver-loop ved hjælp af en break-sætning. For f.eks. Hvis vi vil finde summen af ​​kun de første 5 elementer, kan vi bruge pausesætningen som følger:

Kode

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

Produktion:

I den for hver loop nævnt ovenfor er x den iterationsvariabel, der gemmer et element af arrayet pr. Iteration, der ændres i den næste iteration. I den første iteration gemmer x det første element i arrayet og det sidste element i arrayet i den sidste iteration. I modsætning til for loop, hvor vi får adgang til elementerne i arrayet ved hjælp af indekset, bruger hver loop iterationsvariabel til at få adgang til elementerne.

Der skal udvises omhu ved brug af hver løkke, da iterationsvariablen gemmer værdien af ​​arrayelementet midlertidigt, da det er "read-only", og ændring af dets værdi ændrer ikke det originale array. Dette er i modstrid med loop, hvor ændring af et element ændrer det originale array.

Lad os overveje et eksempel, hvor vi tilføjer 5 til hvert element i matrixen. Vi kan se forskellen i output i følgende eksempelkode:

Til sløjfe med forskellig tilstand

Kode

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)+" ");
)
)
)

Produktion:

Outputet fra for loop viser opdatering af det originale array

Foreach loop med forskellig tilstand

Kode

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+" ");
)
)
)

Produktion:

Outputet fra den for hver loop viser ingen opdatering af den originale matrix

Ting at huske på for hver loop i java

  1. For-hver loop i java bruges til at iterere gennem array / samling elementer i en rækkefølge.
  2. For-hver loop i java bruger iterationsvariablen til at iterere over en samling eller en række elementer.
  3. Ændring af iterationsvariablen ændrer ikke den originale matrix / samling, da den er skrivebeskyttet.
  4. Typen i den for hver loop skal svare til typen af ​​de originale array / samlingelementer.
  5. Foreach loop har ikke brug for, at antallet af iterationer skal specificeres, da det itereres over alle elementer i samlingen.
  6. Det er muligt at stoppe for-hver loop ved hjælp af en break-sætning.

Anbefalede artikler

Dette er en guide til For-hver-loop i java. Her diskuterer vi For-Hver-loop i java med dens kodeimplementering på forskellige måder, som er med break-erklæring og med de forskellige betingelser. Du kan også se på de følgende artikler for at lære mere -

  1. Udskriv array i Java
  2. Loops i Java-programmering
  3. Mens Loop i Java
  4. 3D-arrays i Java
  5. Java-implementeringsværktøjer
  6. 3D-arrays i C ++
  7. For Loop i C
  8. Arrays i Java-programmering