Introduktion till For-Every loop i Java

För varje slinga har introducerats i Java med början från JDK 5. Den syftar till att iterera i följd genom alla element i en samling eller array. Det finns också på andra språk som C #, där det använder nyckelordet för varje. Java använder dock nyckelordet 'för' bara för att implementera för varje slinga till skillnad från C # men dess syntax skiljer sig från det konventionella för en slinga. Denna för varje slinga är också känd som förbättrad för loop i Java.

Syntax

for(type iter_var : Collection) statement_block

Förklaringen för vart och ett av termerna som används ovan är följande:

  1. 'typ' indikerar datatypen för objekten till
  2. 'iter_var' indikerar iterationsvariabelns namn som lagrar varje värde i samlingen när vi itererar genom loopen.
  3. 'Collection' anger den samling eller den grupp som vi vill upprepa.
  4. "statement-block" är uppsättningen uttalanden som vi vill utföra för varje iteration av slingan.

Det är viktigt att notera att för varje slinga får åtkomst till samling / arrayelement i följd där det lagrar värdet på varje element i iterationsvariabeln. Följande är flödesschemat för varje slinga.

Som ni har lagt märke till finns det vissa subtila skillnader mellan för slinga och för varje slinga. För loop krävs att antalet iterationer ska anges i förväg. Detta är emellertid inte fallet med slingan för varje slinga, eftersom slingan itererar från det första elementet till det sista elementet i samlingen / arrayen och inte behöver antalet iterationer som anges.

En viktig poäng att tänka på är att den typ som anges i slingan för varje måste matcha typen av element i samlingen, för annars kommer det att vara kompatibilitetsproblem.

exempel

För slinga

Låt oss hitta medelåldern för en grupp människor som använder sig för loop:

Koda

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:

För varje slinga

För att hitta medelåldern för en grupp människor som använder en för varje slinga:

Koda

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:

Utgången är densamma med båda slingorna som visas i figurerna ovan.

Foreach-loop med Break Statement

Det är möjligt att minska antalet iterationer av den för varje slinga med hjälp av ett brytande uttalande. Om vi ​​till exempel vill hitta summan av endast de första fem elementen, kan vi använda pausuttalet enligt följande:

Koda

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 ovan nämnda slingan för varje är x iterationsvariabeln som lagrar ett element i matrisen per iteration som ändras i nästa iteration. I den första iterationen lagrar x det första elementet i matrisen och det sista elementet i matrisen i den senaste iterationen. Till skillnad från för slinga, där vi får åtkomst till elementen i matrisen med hjälp av indexet, för varje slinga använder iterationsvariabel för att komma åt elementen.

Man måste vara försiktig med att använda för varje slinga eftersom iterationsvariabeln lagrar värdet på arrayelementet tillfälligt eftersom det är "skrivskyddat" och att ändra dess värde ändrar inte den ursprungliga matrisen. Detta strider mot slingan där ändring av ett element modifierar den ursprungliga matrisen.

Låt oss överväga ett exempel där vi lägger till 5 till varje element i matrisen. Vi kan se skillnaden i utdata i följande exempelkod:

För slinga med olika skick

Koda

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:

Utgången från for loop visar uppdatering av den ursprungliga matrisen

Foreach-slinga med olika skick

Koda

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:

Utgången från den för varje slinga visar ingen uppdatering av den ursprungliga matrisen

Saker att komma ihåg för varje slinga i java

  1. För-Varje loop i java används för att iterera genom array / samlingselement i en sekvens.
  2. För-Varje slinga i java använder iterationsvariabeln för att iterera över en samling eller en rad element.
  3. Ändring av iterationsvariabeln ändrar inte den ursprungliga arrayen / samlingen eftersom den är skrivskyddad.
  4. Typen i den för varje slinga måste matcha typen av den ursprungliga arrayen / samlingselementen.
  5. Foreach loop behöver inte antalet iterationer som anges eftersom det iterates över alla element i samlingen.
  6. Det är möjligt att stoppa den för varje slinga med hjälp av ett brytande uttalande.

Rekommenderade artiklar

Detta är en guide till For-Every-slingan i java. Här diskuterar vi For-each-loopen i java med dess kodimplementering på olika sätt som är med break-uttalande och med de olika villkoren. Du kan också titta på följande artiklar för att lära dig mer -

  1. Skriv ut array i Java
  2. Loops i Java-programmering
  3. Medan Loop i Java
  4. 3D-matriser i Java
  5. Java-distributionsverktyg
  6. 3D-matriser i C ++
  7. För slinga i C
  8. Arrays i Java-programmering

Kategori: