logo

Java hurkok

Próbáld ki a GfG Practice-n Előrehalad' title=

A programozási ciklusok lehetővé teszik, hogy egy utasításkészlet többször futhasson egy feltétel alapján. A Java-ban háromféle hurok létezik, amelyeket alább ismertetünk:

1. for hurok

A for ciklust akkor használjuk, ha ismerjük az iterációk számát (tudjuk, hogy egy feladatot hányszor szeretnénk megismételni). A for utasítás egy sorban tartalmazza az inicializálási feltételt és a növelést/csökkentést. 

Példa: Az alábbi Java program egy for ciklust mutat be, amely 0 és 10 közötti számokat ír ki egyetlen sorban.



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 + ' ');  }  } } 

Kimenet
0 1 2 3 4 5 6 7 8 9 10 

Szintaxis:

for (inicializálás; feltétel; növelés/csökkentés) {

// végrehajtandó kód

}

Az alábbi kép a for ciklus folyamatábráját mutatja be:

While-hurok' title=A for -loop folyamatábrája
  • Inicializálási feltétel : Itt inicializáljuk a használt változót. Ez jelzi a for ciklus kezdetét. Egy már deklarált változó használható, vagy egy változó csak helyi hurokba deklarálható.
  • Tesztelési feltétel: A hurok kilépési feltételének tesztelésére szolgál. Logikai értéket kell visszaadnia. Ez egy Belépési vezérlőhurok is, mivel a feltételt a ciklusutasítások végrehajtása előtt ellenőrzik.
  • Nyilatkozat végrehajtása : Ha a feltétel igazra lett értékelve, a ciklustörzsben lévő utasítások végrehajtásra kerülnek.
  • Növekedés/csökkentés : A változó frissítésére szolgál a következő iterációhoz.
  • Hurok lezárása : Amikor a feltétel hamissá válik, a ciklus véget ér, és ezzel az életciklusa végét jelzi.

Jegyzet : A for ciklusnak létezik egy másik formája is Továbbfejlesztett ciklushoz vagy (minden ciklushoz).

Diana Ankudinova

Továbbfejlesztett ciklushoz (mindegyikhez)

Ez a ciklus a tömbök vagy gyűjtemények közötti iterációra szolgál.

Példa : Az alábbi Java program egy Enhanced for ciklust mutat be (minden ciklushoz), amely egy tömbön keresztül iterál és neveket nyomtat.

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

Kimenet
Name: Sweta Name: Gudly Name: Amiya 

Szintaxis:

for (dataType változó : arrayOrCollection) {

// végrehajtandó kód

}

2. míg Hurok

A while ciklust akkor használjuk, ha ellenőrizni akarjuk a feltételt a ciklustörzs végrehajtása előtt.

Példa: Az alábbi Java program egy while ciklust mutat be, amely 0 és 10 közötti számokat ír ki egyetlen sorban.

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++;  }  } } 

Kimenet
0 1 2 3 4 5 6 7 8 9 10 

Szintaxis:

while (feltétel) {

// végrehajtandó kód

}

Az alábbi kép egy while ciklus folyamatábráját mutatja be:

mycricketlive
Do-while-hurok' loading='lazy' title=A while ciklus folyamatábrája
  • A While ciklus a logikai feltétel ellenőrzésével kezdődik. Ha a kiértékelés igaz, akkor a ciklustörzs utasítások végrehajtásra kerülnek, ellenkező esetben a ciklust követő első utasítás végrehajtásra kerül. Emiatt Entry vezérlőhuroknak is nevezik
  • Miután a feltételt igazra értékelték, a ciklustörzsben lévő utasítások végrehajtásra kerülnek. Általában az utasítások frissítési értéket tartalmaznak a következő iterációhoz feldolgozott változóhoz.
  • Amikor a feltétel hamissá válik, a hurok véget ér, ami az életciklusa végét jelzi.

3. do-while Loop

A do-while ciklus biztosítja a kódblokk végrehajtását legalább egyszer az állapot ellenőrzése előtt.

Példa : Az alábbi Java program egy do-while ciklust mutat be, amely 0 és 10 közötti számokat ír ki egyetlen sorban.

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

Kimenet
0 1 2 3 4 5 6 7 8 9 10 

Szintaxis:

do {

// végrehajtandó kód

} while (feltétel);

Az alábbi kép egy do-while ciklus folyamatábráját mutatja be:

' loading='lazy' title=A do-while ciklus folyamatábrája
  • do while ciklus az utasítás végrehajtásával kezdődik. Nincs első alkalommal semmilyen állapot ellenőrzése.
  • Az utasítások végrehajtása és a változó értékének frissítése után a feltétel igaz vagy hamis értékét ellenőrzi. Ha a kiértékelés igaz, a ciklus következő iterációja kezdődik.
  • Amikor a feltétel hamissá válik, a hurok véget ér, ami az életciklusa végét jelzi.
  • Fontos megjegyezni, hogy a do-while ciklus minden feltétel ellenőrzése előtt legalább egyszer végrehajtja az utasításait, és ezért egy példa a kilépési vezérlőhurokra.

Gyakori hurokhibák és azok elkerülése

Ha a ciklusokat nem megfelelően használják, buktatókat és hibákat okozhatnak, amelyek befolyásolják a kód teljesítményének olvashatóságát és funkcionalitását. Az alábbiakban felsorolunk néhány gyakori buktatót a hurkok esetében:

1. Végtelen hurkok

Ez az egyik leggyakoribb hiba, amikor bármilyen hurkot alkalmazunk, hogy soha nem lép ki, vagyis a ciklus végtelen ideig fut. Ez akkor fordul elő, ha az állapot valamilyen okból sikertelen.

A végtelen hurkok típusai:

  • végtelen a Loop számára
  • végtelen míg Loop

Példa: Itt mindkét példa a végtelen hurkokat mutatja be.

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

Kimenet: Ha mindkét fenti kódot futtatja, TLE (Time Limit Exceeded) hibaüzenetet kap.

2. Egyenkénti hibák

Off-by-One hibákat az okozza, ha a hurok eggyel többször vagy kevesebbszer fut, mint amennyit akart. Ez alapvetően akkor történik, ha a hurokfeltétel nincs megfelelően beállítva.

Példa : Az alábbi Java program egy Off-by-One Error-t mutat be, ahol a ciklus 6-szor fut le, és azt vártuk, hogy 5-ször.

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. A hurkon belüli hurokváltozók módosítása

Ha a cikluson belül megváltoztatjuk a hurok feltételét (mint az i), akkor a ciklus bizonyos iterációkat kihagyhat, vagy olyan módon viselkedhet, ahogyan azt nem vártuk. Ez hibákhoz vagy váratlan viselkedéshez vezethet.

Példa : Az alábbi Java program bemutatja a cikluson belüli ciklusváltozó módosítását, ami miatt a ciklus kihagy bizonyos iterációkat és váratlanul viselkedik.

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. Üres huroktest

Üres huroktörzs akkor fordul elő, ha egy ciklust iterációra írnak, de nem hajt végre semmilyen műveletet a cikluson belül. A hurok futtatása hasznos műveletek nélkül zavaró lehet.

Példa: Az alábbi Java program az Empty loop body-t mutatja be.

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  }  } } 

Ehhez nem jön létre kimenet, mert a hurok törzse üres.

méretű betűtípus latex

Összefoglaló táblázat

Hurok típusa

Mikor kell használni

Állapot ellenőrzés

Végrehajt legalább egyszer?

hurokhoz

térkép iterálása java-ban

Ha pontos iterációkat szeretne

A huroktest előtt Belépés-vezéreltnek hívják.

nem

míg hurok

Amikor először állapotot kell ellenőrizni.

A huroktest előtt Belépés-vezéreltnek nevezik.

nem

do-while hurok

Amikor futni kell legalább egyszer

A hurok utáni törzse Kilépés-vezéreltnek nevezik.

igen

minden hurok számára

Amikor az összes gyűjteményi elemet feldolgozza

Belső kezelésű

nem

Kapcsolódó bejegyzések:

  • hurokhoz
  • míg hurok
  • do-while hurok
Kvíz létrehozása