Pro každou smyčku v javě - použití různých podmínek - Příklady

Obsah:

Anonim

Úvod do smyčky For-Every v Javě

Pro každou smyčku byl do Javy zaveden počínaje JDK 5. Jeho cílem je iterovat postupně všemi prvky kolekce nebo pole. Je také v dalších jazycích, jako je C #, kde používá klíčové slovo pro každý. Java však používá klíčové slovo „pro“ pouze k implementaci pro každou smyčku na rozdíl od C #, ale její syntaxe se liší od konvenční smyčky. Tato smyčka pro každou smyčku je v Javě známá také jako vylepšená smyčka.

Syntax

for(type iter_var : Collection) statement_block

Vysvětlení každého z výše uvedených výrazů je následující:

  1. 'type' označuje datový typ objektů
  2. 'iter_var' označuje název iterační proměnné, která ukládá každou hodnotu kolekce při iteraci smyčkou.
  3. 'Kolekce' určuje sbírku nebo pole, skrze které chceme iterovat.
  4. 'Statement-block' je množina příkazů, které chceme provést pro každou iteraci smyčky.

Je důležité si uvědomit, že smyčka pro každou z nich přistupuje postupně k elementům kolekce / pole, kde ukládá hodnotu každého prvku do iterační proměnné. Následuje vývojový diagram pro každou smyčku.

Jak jste si všimli, existují určité jemné rozdíly mezi pro smyčku a pro každou smyčku. Pro smyčku je třeba předem zadat počet iterací. To však neplatí pro smyčku for-each, protože smyčka iteruje z prvního prvku do posledního prvku kolekce / pole a není nutné specifikovat počet iterací.

Důležitým bodem, který je třeba mít na paměti, je to, že typ určený ve smyčce for-each se musí shodovat s typem prvků v kolekci, protože jinak dojde k problémům s kompatibilitou.

Příklady

Pro smyčku

Najděte průměrný věk skupiny lidí, kteří používají smyčku:

Kód

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

Výstup:

Pro každou smyčku

Chcete-li zjistit průměrný věk skupiny lidí, kteří používají smyčku pro každou z nich:

Kód

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

Výstup:

Výstup je stejný při použití obou smyček, jak je patrné z výše uvedených obrázků.

Foreach loop pomocí Break Statement

Je možné snížit počet iterací smyčky pro každou smyčku pomocí příkazu break. Například pokud chceme najít součet pouze prvních 5 prvků, můžeme použít příkaz break takto:

Kód

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

Výstup:

Ve výše uvedené smyčce for-each je x iterační proměnná, která ukládá jeden prvek pole na iteraci, který se mění v další iteraci. V první iteraci x ukládá první prvek pole a poslední prvek pole v poslední iteraci. Na rozdíl od smyčky, kde přistupujeme k elementům pole pomocí indexu, pro každou smyčku používá iterační proměnná pro přístup k elementům.

Při použití každé smyčky je třeba postupovat opatrně, protože iterační proměnná dočasně ukládá hodnotu prvku pole, protože je „pouze pro čtení“ a změna jeho hodnoty nemění původní pole. To je v rozporu se smyčkou, kde změna prvku modifikuje původní pole.

Podívejme se na příklad, kdy přidáme 5 ke každému prvku pole. Rozdíl ve výstupu můžeme spatřit v následujícím příkladu kódu:

Pro smyčku s jiným stavem

Kód

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

Výstup:

Výstup pro smyčku ukazující aktualizaci původního pole

Foreach smyčka s jiným stavem

Kód

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

Výstup:

Výstup smyčky for-each neukazující žádnou aktualizaci původního pole

Co je třeba pamatovat na každou smyčku v javě

  1. For-Každá smyčka v javě se používá k iteraci skrz prvky pole / kolekce v sekvenci.
  2. For-Každá smyčka v javě používá iterační proměnnou k iteraci přes kolekci nebo pole prvků.
  3. Úprava iterační proměnné nemění původní pole / kolekci, protože je pouze pro čtení.
  4. Typ v smyčce for-each se musí shodovat s typem původních prvků pole / kolekce.
  5. Smyčka Foreach nepotřebuje specifikovat počet iterací, protože iteruje všechny prvky kolekce.
  6. Je možné zastavit smyčku for-each pomocí příkazu break.

Doporučené články

Toto je průvodce po smyčce For-Every v javě. Zde diskutujeme smyčku For-Every v javě s implementací kódu různými způsoby, tj. S příkazem break as různými podmínkami. Další informace naleznete také v následujících článcích -

  1. Tisk pole v Javě
  2. Smyčky v programování Java
  3. Zatímco smyčka v Javě
  4. 3D pole v Javě
  5. Java Deployment Tools
  6. 3D pole v C ++
  7. Pro smyčku v C
  8. Pole v programování Java