Uvod v zanko For-Every na Javi
Vsaka zanka je v Javi uvedena od JDK 5. Njegov namen je ponoviti zaporedje skozi vse elemente Zbirke ali matrike. Tam je tudi v drugih jezikih, kot je C #, kjer uporablja ključno besedo za vsakega. Kljub temu Java uporablja ključno besedo "za" samo za izvajanje za vsako zanko za razliko od C #, vendar se njegova sintaksa razlikuje od običajne za zanko. Ta zanka za vsako zanjo je na Javi znana tudi kot izboljšana zanka.
Sintaksa
for(type iter_var : Collection) statement_block
Pojasnilo za vsakega od zgoraj uporabljenih izrazov je naslednje:
- "type" označuje podatkovni tip predmetov
- 'iter_var' označuje ime spremenljivke iteracije, ki shrani vsako vrednost zbirke, ko ponavljamo skozi zanko.
- 'Zbirka' določa Zbirko ali matriko, skozi katero želimo ponoviti.
- 'blok izjav "je niz stavkov, ki jih želimo izvesti za vsako ponovitev zanke.
Pomembno je opozoriti, da zanka za vsako zanko dostopa do elementov zbiranja / matrike zaporedno, kjer shrani vrednost vsakega elementa v iteracijski spremenljivki. Sledi diagram poteka toka za vsako zanko.
Kot ste opazili, obstajajo nekatere tanke razlike med zanko in za vsako zanko. Za zanko je potrebno predhodno določiti število ponovitev. Vendar pa to ni tako pri zanki za vsakega, saj zanka prehaja iz prvega elementa v zadnji element Zbirke / matrike in ni potrebno določiti števila iteracij.
Pomembno je upoštevati, da se mora tip, določen v zanki for-za, ujemati s tipom elementov v zbirki, ker v nasprotnem primeru pride do težav z združljivostjo.
Primeri
Za zanko
Najdemo povprečno starost skupine ljudi, ki uporabljajo za zanko:
Koda
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));
)
)
Izhod:
Za vsako zanko
Če želite najti povprečno starost skupine ljudi, ki uporabljajo zanko za vsako:
Koda
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));
)
)
Izhod:
Izhod je enak z obema zankama, kot je razvidno iz zgornjih slik.
Predpostavite zanko s prekinitvijo izjave
Z uporabo izjave preloma je mogoče zmanjšati število ponovitev zanke za vsako. Na primer, če želimo najti vsoto samo prvih 5 elementov, lahko uporabimo stavek preloma na naslednji način:
Koda
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);
)
)
Izhod:
V zgoraj omenjeni zanki for-vsak je x iteracijska spremenljivka, ki shrani en element matrike za iteracijo, ki se spremeni v naslednji iteraciji. V prvi iteraciji x shrani prvi element matrike in zadnji element matrike v zadnjo iteracijo. Za razliko od zanke, kjer dostopamo do elementov matrike s pomočjo indeksa, za vsako zanko uporablja iteracijsko spremenljivko za dostop do elementov.
Pri vsaki zanki je treba biti previden, saj iteracijska spremenljivka začasno shrani vrednost elementa matrike, saj je samo za branje, če spremenimo njegovo vrednost, pa ne spremenimo prvotnega niza. To je v nasprotju z zanko, kadar spreminjanje elementa spremeni izvorni niz.
Razmislimo o primeru, ko vsakemu elementu matrike dodamo 5. Razliko v izhodu lahko opazimo v spodnjem primeru:
Za zanko z različnimi pogoji
Koda
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)+" ");
)
)
)
Izhod:
Izhod za zanko, ki prikazuje posodobitev izvirnega niza
Foreach zanka z različnimi pogoji
Koda
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+" ");
)
)
)
Izhod:
Izhod vsake zanke ne prikazuje posodobitve izvirnega niza
Stvari, ki si jih morate zapomniti za vsako zanko v Javi
- For-Vsaka zanka v javi se uporablja za iteracijo skozi elemente matrike / zbirke v zaporedju.
- For-Vsaka zanka v javi uporablja iteracijsko spremenljivko za ponavljanje zbirke ali matrike elementov.
- Spreminjanje iteracijske spremenljivke ne spremeni izvirne matrike / zbirke, saj je samo za branje.
- Vrsta v zanki za vsakega se mora ujemati z vrsto izvirnih elementov matrike / zbirke.
- Za zanko Foreach ni treba določiti števila iteracij, saj iterira nad vse elemente zbirke.
- Možno je zaustaviti for za vsako zanko z uporabo preloma izjave.
Priporočeni članki
To je vodnik za zanko For-Every v Javi. Tukaj razpravljamo o zanki For-Every v javi z njeno implementacijo kode na različne načine, to je z izjavo break in z različnimi pogoji. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Natisni matriko v Javi
- Zanke v programiranju Java
- Medtem ko je zanka v Javi
- 3D matriki na Javi
- Java Tools Deployment Tools
- 3D matriki v C ++
- Za zanko v C
- Nizi v programiranju Java