Bevezetés a Java minden hurkához
A Java-ban minden hurkot bevezettek a JDK 5-től kezdve. Célja, hogy egymást követve iteráljon egy gyűjtemény vagy tömb összes elemén keresztül. Más nyelveken is van, például a C #, ahol mindenkinek a kulcsszót használja. A Java azonban a 'for' kulcsszót csak az egyes hurkok megvalósításához használja, eltérően a C # -től, de szintaxisa különbözik a hurok szokásosétól. Ezt az egyes hurkokat a Java hurok számára továbbfejlesztettnek is nevezik.
Szintaxis
for(type iter_var : Collection) statement_block
A fenti kifejezések magyarázata a következő:
- 'típus' jelzi a. objektumok adattípusát
- Az 'iter_var' azt az iterációs változó nevét jelöli, amely a gyűjtés minden értékét tárolja, amikor a hurkon keresztül iterálunk.
- A „Gyűjtemény” azt a Gyűjteményt vagy tömböt határozza meg, amelyen keresztül el akarjuk állítani.
- Az 'utasítás-blokk' azon állítások halmaza, amelyeket végrehajtani akarunk a hurok minden iterációja esetén.
Fontos megjegyezni, hogy az egyes ciklusok egymás után hozzáférnek a gyűjtő / tömb elemekhez, ahol az egyes elemek értékét az iterációs változóban tárolják. Az alábbiakban bemutatjuk az egyes hurkok folyamatábráját.
Mint észrevetted, vannak bizonyos finom különbségek a hurok és az egyes hurkok között. A hurokhoz előzetesen meg kell adni az iterációk számát. Ugyanakkor nem ez a helyzet az egyes hurkok esetében, mivel a hurok a gyűjtemény / tömb első elemétől az utolsó elemig iterál, és nincs szüksége az iterációk számának megadására.
Fontos szem előtt tartani, hogy az egyes hurkokban megadott típusnak meg kell egyeznie a gyűjtemény elemeinek típusával, mivel egyébként kompatibilitási problémák merülnek fel.
Példák
Hurokhoz
Nézzük meg a hurokhoz használó emberek csoportjának átlagos életkorát:
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));
)
)
Kimenet:
Minden hurokhoz
Az egyes csoportok átlagos életkorának meghatározásához minden hurkot használva:
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));
)
)
Kimenet:
A kimenet ugyanaz, mindkét hurok felhasználásával, mint a fenti ábrákon látható.
Foreach hurok a Break Statement használatával
Lehetőség van az egyes ciklusok iterációinak számának csökkentésére egy break utasítás használatával. Például, ha csak az első 5 elem összegét akarjuk megtalálni, akkor a következőképpen használhatjuk a break utasításot:
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);
)
)
Kimenet:
A fent említett minden huroknál x az iterációs változó, amely itetrációnként a tömb egyik elemét tárolja, amely a következő iterációban változik. Az első iterációban x a tömb első elemét és a tömb utolsó elemét az utolsó iterációban tárolja. A loop-tól eltérően, ahol a tömb elemeihez az index segítségével férünk hozzá, minden hurok iterációs változót használ az elemek eléréséhez.
Vigyázni kell az egyes hurkok használatakor, mivel az iterációs változó ideiglenesen eltárolja a tömb elem értékét, mivel az csak olvasható, és az érték megváltoztatása nem módosítja az eredeti tömböt. Ez ellentmond a ciklusnak, amikor egy elem megváltoztatása módosítja az eredeti tömböt.
Vegyünk egy példát, ahol hozzáadunk 5-öt a tömb minden eleméhez. A kimeneti különbségeket a következő példakódban észlelhetjük:
Különböző állapotú hurokhoz
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)+" ");
)
)
)
Kimenet:
Az hurok kimenete az eredeti tömb felfelé mutatását mutatja
Foreach hurok különböző feltételekkel
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+" ");
)
)
)
Kimenet:
Az egyes hurok kimenete, amely azt mutatja, hogy az eredeti tömb nem növekszik
Ne felejtsen el minden dolgot a java-ban
- For-Minden java hurok arra szolgál, hogy sorozatban a tömb / gyűjtőelemeken iterálódjanak.
- For-Minden java hurok az iterációs változót használja az itekcióhoz az elemek gyűjteményén vagy sorozatán keresztül.
- Az iterációs változó módosítása nem módosítja az eredeti tömböt / gyűjteményt, mivel csak olvasható.
- Az egyes hurkokban szereplő típusnak meg kell egyeznie az eredeti tömb / gyűjtemény elem típusával.
- Az Foreach huroknak nincs szüksége az iterációk számának megadására, mivel ez a gyűjtemény összes eleménél ismétlődik.
- Megszakíthatjuk az egyes hurkokat egy break utasítás használatával.
Ajánlott cikkek
Ez egy útmutató a java For-Each hurokhoz. Itt megvitatjuk a java For-Each hurkot, annak kód implementációját különféle módon, például a break utasítás és a különféle feltételek mellett. A következő cikkeket is megnézheti további információkért -
- Nyomtatási tömb Java-ban
- Hurkok a Java programozásban
- Míg a Loop Java
- 3D tömbök Java-ban
- Java telepítési eszközök
- 3D tömbök C ++ formátumban
- A C hurok számára
- Tömbök a Java programozásban