Pro každou smyčku dovnitř Java

⚡ Chytré shrnutí

Pro každou smyčku dovnitř Java je zjednodušená forma cyklu for používaná k procházení polí a seznamů bez čítače nebo indexu. Tento zdroj vysvětluje syntaxi příkazu for-each, porovnává ji s tradičním cyklu for a ukazuje kompletní funkční příklad s očekávaným výstupem.

  • 🔁 Účel: Smyčka for-each iteruje přímo přes každý prvek pole nebo seznamu, čímž se snižuje objem kódu.
  • 🧮 Bez počítadla: Na rozdíl od tradiční smyčky for, for-each nepotřebuje žádný index, podmínku ani přírůstek.
  • 🧩 Syntaxe: Deklarujte dočasnou proměnnou, jejíž typ odpovídá kolekci, a poté kolekci, kterou chcete iterovat.
  • 🇧🇷 Srovnání: Příklad ukazuje stejný výstup ze smyčky založené na čítači a ze smyčky for-each.
  • ⚠️ Omezení: Smyčka for-each neposkytuje žádný index, takže nemůže snadno upravovat podkladové prvky.

Pro každou smyčku dovnitř Java

Java Pro každé pole

Cyklus for-each je další formou cyklu for používaného k procházení pole. Cyklus for-each výrazně zkracuje kód a index, respektive čítač, se v něm nepoužívá.

Syntaxe:

for (<DataType of array/List> <Temp variable name> : <Array/List to be iterated>) {
    System.out.println();
    // Any other operation can be done with this temp variable.
}

Smyčka/iterace pole Java

Vezměme si příklad s polem String, které chcete iterovat bez použití jakýchkoli čítačů. Zvažte pole String arrData inicializované takto:

String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};

I když možná znáte metody, jako je zjištění velikosti řada a následným iterováním každým prvkem pole pomocí tradiční smyčky for (čítač, podmínka a přírůstek) potřebujeme optimalizovanější přístup, který žádný takový čítač nebude používat.

Toto je konvenční přístup smyčky „for“:

for (int i = 0; i < arrData.length; i++) {
    System.out.println(arrData[i]);
}

Můžete vidět použití čítače a jeho následné použití jako indexu pro pole. Java poskytuje způsob, jak použít cyklus „for“, který bude iterovat každý prvek pole.

Zde je kód pro pole, které jsme deklarovali dříve:

for (String strTemp : arrData) {
    System.out.println(strTemp);
}

Rozdíl mezi smyčkami je vidět. Kód se výrazně zkrátil. Také se v smyčce nepoužívá index, respektive čítač. Ujistěte se, že datový typ deklarovaný ve smyčce for-each odpovídá datovému typu smyčky. ArrayList že opakujete.

Pro každý příklad smyčky

Zde máme celou třídu, která ukazuje výše uvedené vysvětlení:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

Iterujte pole v Java

Očekávaný výstup:

Using conventional For Loop:
Alpha
Beta
Gamma
Delta
Sigma

Using Foreach loop:
Alpha
Beta
Gamma
Delta
Sigma

Nejčastější dotazy

Ano. Asistenti umělé inteligence mohou refaktorovat smyčky založené na indexech do smyček for-each, kde index není potřeba. Přesto byste měli zkontrolovat případy, které se na index spoléhají pro úpravu pozice nebo prvku.

Nástroje umělé inteligence často doporučují cyklus for-each pro lepší čitelnost, když se index nepoužívá, zatímco keeping indexované smyčky, kde záleží na pozici prvku nebo jeho modifikaci. Volba závisí na konkrétním úkolu.

Tradiční smyčka for používá k řízení iterace čítač a index. Smyčka for-each iteruje každý prvek přímo bez čítače, což zlepšuje čitelnost, ale neposkytuje žádný index pro přístup k prvku.

Změna proměnné cyklu neaktualizuje podkladový prvek pole, protože ten obsahuje kopii hodnoty. Pro úpravu prvků na místě použijte tradiční cyklus for s indexem.

Shrňte tento příspěvek takto: