logo

Java slučky

Vyskúšajte to na GfG Practice Pokrok' title=

Slučky v programovaní umožňujú, aby sa súbor inštrukcií spúšťal viackrát na základe podmienky. V jazyku Java existujú tri typy slučiek, ktoré sú vysvetlené nižšie:

1. pre slučku

Cyklus for sa používa, keď poznáme počet iterácií (vieme, koľkokrát chceme úlohu zopakovať). Príkaz for obsahuje podmienku inicializácie a prírastok/zníženie v jednom riadku. 

Príklad: Nižšie uvedený program Java ukazuje cyklus for, ktorý tlačí čísla od 0 do 10 v jednom riadku.



Java
// Java program to demonstrates the working of for loop import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i <= 10; i++) {  System.out.print(i + ' ');  }  } } 

Výstup
0 1 2 3 4 5 6 7 8 9 10 

Syntax:

for (inicializácia; podmienka; prírastok/zníženie) {

// kód, ktorý sa má vykonať

}

Obrázok nižšie ukazuje vývojový diagram cyklu for:

Kým-slučka' title=Vývojový diagram for -loop
  • Inicializačná podmienka : Tu inicializujeme používanú premennú. Označuje začiatok cyklu for. Môže sa použiť už deklarovaná premenná alebo môže byť premenná deklarovaná iba ako lokálna slučka.
  • Testovacia podmienka: Používa sa na testovanie výstupnej podmienky pre slučku. Musí vrátiť boolovskú hodnotu. Je to tiež vstupná riadiaca slučka, pretože podmienka sa kontroluje pred vykonaním príkazov slučky.
  • Vykonanie výpisu : Keď je podmienka vyhodnotená ako pravdivá, vykonajú sa príkazy v tele cyklu.
  • Zvýšenie/zníženie : Používa sa na aktualizáciu premennej pre ďalšiu iteráciu.
  • Ukončenie slučky : Keď sa podmienka stane nepravdivou, cyklus sa ukončí a označí koniec svojho životného cyklu.

Poznámka : Existuje ďalšia forma cyklu for známa ako Vylepšená slučka for alebo (pre každú slučku).

setinterval javascript

Vylepšená slučka for (pre každú)

Táto slučka sa používa na iteráciu polí alebo kolekcií.

Príklad : Nižšie uvedený Java program demonštruje vylepšený cyklus for (pre každý cyklus) na iteráciu cez pole a tlač názvov.

Java
// Java program to demonstrate  // the working of for each loop import java.io.*; class Geeks {  public static void main(String[] args)  {  String[] names = { 'Sweta' 'Gudly' 'Amiya' };  for (String name : names) {  System.out.println('Name: ' + name);  }  } } 

Výstup
Name: Sweta Name: Gudly Name: Amiya 

Syntax:

for (dataType variable: arrayOrCollection) {

// kód, ktorý sa má vykonať

}

2. zatiaľ čo slučka

Cyklus while sa používa, keď chceme skontrolovať podmienku pred vykonaním tela cyklu.

Príklad: Nižšie uvedený program Java ukazuje cyklus while, ktorý tlačí čísla od 0 do 10 v jednom riadku.

Java
// Java program to demonstrates  // the working of while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  int i = 0;  while (i <= 10) {  System.out.print(i + ' ');  i++;  }  } } 

Výstup
0 1 2 3 4 5 6 7 8 9 10 

Syntax:

while (condition) {

// kód, ktorý sa má vykonať

}

Nasledujúci obrázok ukazuje vývojový diagram slučky while:

jsp
Do-while-loop' loading='lazy' title=Vývojový diagram slučky while
  • Kým cyklus začína kontrolou boolovskej podmienky. Ak sa vyhodnotí ako pravda, vykonajú sa príkazy tela cyklu, inak sa vykoná prvý príkaz nasledujúci po slučke. Z tohto dôvodu sa nazýva aj vstupná riadiaca slučka
  • Keď je podmienka vyhodnotená ako pravdivá, vykonajú sa príkazy v tele cyklu. Normálne príkazy obsahujú aktualizačnú hodnotu pre premennú, ktorá sa spracováva pre ďalšiu iteráciu.
  • Keď sa podmienka stane nepravdivou, cyklus sa ukončí, čo znamená koniec jeho životného cyklu.

3. do-while Loop

Cyklus do-while zaisťuje vykonanie bloku kódu aspoň raz pred kontrolou stavu.

Príklad : Nižšie uvedený program Java demonštruje cyklus do-while, ktorý tlačí čísla od 0 do 10 v jednom riadku.

Java
// Java program to demonstrates  // the working of do-while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  int i = 0;  do {  System.out.print(i + ' ');  i++;  } while (i <= 10);  } } 

Výstup
0 1 2 3 4 5 6 7 8 9 10 

Syntax:

urobiť {

// kód, ktorý sa má vykonať

} while (podmienka);

Nasledujúci obrázok ukazuje vývojový diagram slučky do-while:

' loading='lazy' title=Vývojový diagram slučky do-while
  • Cyklus do while začína vykonaním príkazu. Prvýkrát sa nekontroluje žiadny stav.
  • Po vykonaní príkazov a aktualizácii hodnoty premennej sa skontroluje podmienka na pravdivú alebo nepravdivú hodnotu. Ak sa vyhodnotí ako pravda, začne ďalšia iterácia cyklu.
  • Keď sa podmienka stane nepravdivou, cyklus sa ukončí, čo znamená koniec jeho životného cyklu.
  • Je dôležité poznamenať, že cyklus do-while vykoná svoje príkazy aspoň raz pred kontrolou akejkoľvek podmienky, a preto je príkladom ukončenia riadiacej slučky.

Bežné chyby v slučke a ako sa im vyhnúť

Ak sa slučky nepoužívajú správne, môžu predstavovať úskalia a chyby, ktoré ovplyvňujú čitateľnosť a funkčnosť výkonu kódu. Nižšie sú uvedené niektoré bežné úskalia slučiek:

1. Nekonečné slučky

Toto je jedna z najčastejších chýb pri implementácii akéhokoľvek druhu cyklovania je, že sa nemusí nikdy ukončiť, pretože cyklus beží nekonečne dlho. Stáva sa to vtedy, keď stav z nejakého dôvodu zlyhá.

Typy nekonečných slučiek:

  • nekonečné pre Loop
  • nekonečná slučka

Príklad: Tu oba príklady demonštrujú nekonečné slučky.

Infinite For Loop
// Java program to demonstrate  // the infinite for loop import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 5; i--) {  System.out.println(  'This loop will run forever');  }  } } 
Infinite While Loop
// Java Program to demonstrate  // the infinite while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  while(true)  {  System.out.println(  'Basic example of infinte loop');  }  } } 

výstup: Keď spustíte oba vyššie uvedené kódy, zobrazí sa chyba TLE (Prekročený časový limit).

2. Chyby typu Off-by-One

Chyby Off-by-One sú spôsobené, keď sa slučka spustí o jeden alebo o jeden menej, ako ste chceli. V zásade sa to stane, keď nie je správne nastavená podmienka slučky.

Príklad : Nižšie uvedený Java program demonštruje Off-by-One Error, kde sa slučka spustí 6-krát a očakávali sme, že sa spustí 5-krát.

Java
// Java Program to demonstrates Off-by-One Errors import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i <= 5; i++) {  System.out.print(i + ' ');  }  } } 

3. Úprava premenných slučky vo vnútri slučky

Keď zmeníme podmienku cyklu (napríklad i) vo vnútri cyklu, môže to spôsobiť, že cyklus preskočí určité iterácie alebo sa bude správať spôsobom, ktorý sme neočakávali. To môže viesť k chybám alebo neočakávanému správaniu.

Príklad : Nižšie uvedený Java program demonštruje úpravu premennej slučky vo vnútri slučky, ktorá spôsobí, že slučka preskočí určité iterácie a správa sa neočakávane.

Java
// Java program demonstrates  // modification in i variable import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 5; i++) {  if (i == 2) {    // Modifies the loop variable and skips  // the next iteration  i++;  }  System.out.println(i);  }  } } 

4. Telo prázdnej slučky

Prázdne telo slučky sa objaví, keď je slučka zapísaná na iteráciu, ale nevykonáva sa v nej žiadne operácie. Spustenie slučky bez akýchkoľvek užitočných operácií v nej môže byť mätúce.

Príklad: Nižšie uvedený program Java demonštruje telo prázdnej slučky.

Java
// Java program to demonstrates Empty loop body import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 10; i++) {    // Empty body no operations  }  } } 

Na to sa nevygeneruje žiadny výstup, pretože telo cyklu je prázdne.

Súhrnná tabuľka

Typ slučky

Kedy použiť

Kontrola stavu

localdate

Popravuje aspoň raz?

pre slučku

Keď chcete presné iterácie

Pred telom slučky Volá sa Vstupom riadené.

č

pričom slučka

Keď potrebujete najprv skontrolovať stav.

Pred telom slučky Volá sa Vstupom riadené.

č

slučka do-while

Keď si potrebujete aspoň raz zabehať

mesto v USA

Telo po slučke Nazýva sa Exit-controlled.

áno

pre každú slučku

Keď spracujete všetky zbierkové predmety

Vnútorne ovládané

č

Súvisiace príspevky:

  • pre slučku
  • pričom slučka
  • slučka do-while
Vytvoriť kvíz