Introducere în bucla For-Each în Java
Pentru fiecare buclă a fost introdusă în Java pornind de la JDK 5. Acesta își propune să itereze secvențial prin toate elementele unei colecții sau matrice. De asemenea, există și în alte limbi precum C #, unde folosește cuvântul cheie pentru-fiecare. Cu toate acestea, Java folosește cuvântul cheie „pentru” doar pentru a implementa pentru fiecare buclă spre deosebire de C #, dar sintaxa sa diferă de cea convențională pentru o buclă. Această buclă pentru fiecare este cunoscută și ca îmbunătățită pentru bucla în Java.
Sintaxă
for(type iter_var : Collection) statement_block
Explicația pentru fiecare dintre termenii folosiți mai sus este următoarea:
- „tip” indică tipul de date al obiectelor
- „iter_var” indică denumirea variabilei de iterație care stochează fiecare valoare a colecției în timp ce repetăm bucla.
- „Colecție” specifică Colecția sau tabloul prin care dorim să îl iterăm.
- „statement-block” este setul de instrucțiuni pe care dorim să le executăm pentru fiecare iterație a buclei.
Este esențial să rețineți că pentru fiecare buclă accesează elementele de colecție / matrice secvențial unde stochează valoarea fiecărui element în variabila de iterație. Urmează diagrama de flux a buclei pentru fiecare.
După cum ați observat, există anumite diferențe subtile între buclă și buclă pentru fiecare. Pentru buclă este necesar să se specifice în prealabil numărul de iterații. Totuși, acesta nu este cazul cu bucla pentru fiecare, deoarece bucla iterează de la primul element până la ultimul element al colecției / tabloului și nu are nevoie de numărul de iterații pentru a fi specificat.
Un punct important care trebuie avut în vedere este faptul că tipul specificat în fiecare buclă trebuie să corespundă tipului elementelor din colecție, deoarece altfel vor exista probleme de compatibilitate.
Exemple
Pentru buclă
Să găsim vârsta medie a unui grup de oameni care utilizează pentru buclă:
Cod
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));
)
)
ieşire:
Pentru fiecare buclă
Pentru a găsi vârsta medie a unui grup de oameni care utilizează o buclă pentru fiecare:
Cod
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));
)
)
ieşire:
Ieșirea este aceeași folosind ambele bucle așa cum se vede din figurile de mai sus.
Bucla de foreach folosind Break statement
Este posibil să se reducă numărul de iterații pentru fiecare buclă folosind o instrucțiune de pauză. De exemplu, dacă dorim să găsim suma doar primelor 5 elemente, putem folosi instrucțiunea break astfel:
Cod
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);
)
)
ieşire:
În fiecare buclă menționată mai sus, x este variabila de iterație care stochează un element al tabloului per iterație care se schimbă în iterația următoare. În prima iterație, x stochează primul element al tabloului și ultimul element al tabloului în ultima iterație. Spre deosebire de buclă, unde accesăm elementele tabloului folosind indexul, pentru fiecare buclă se folosește variabila de iterație pentru a accesa elementele.
Trebuie să aveți grijă să utilizați pentru fiecare buclă, deoarece variabila de iterare stochează temporar valoarea elementului de matrice, deoarece este „numai de citire” și schimbarea valorii sale nu modifică tabloul original. Acest lucru este contrazic pentru bucla în care schimbarea unui element modifică matricea originală.
Să luăm în considerare un exemplu în care adăugăm 5 la fiecare element al tabloului. Putem observa diferența de ieșire în următorul exemplu de cod:
Pentru bucla cu condiție diferită
Cod
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)+" ");
)
)
)
ieşire:
Ieșirea pentru buclă care arată actualizarea gamei originale
Bucla prealabilă cu condiție diferită
Cod
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+" ");
)
)
)
ieşire:
Ieșirea pentru fiecare buclă care nu afișează nicio actualizare a tabloului original
Lucruri de reținut despre fiecare buclă în Java
- For-Fiecare buclă din java este utilizată pentru a itera prin elementele de tip array / collection într-o secvență.
- For-Fiecare buclă din java folosește variabila de iterație pentru a itera peste o colecție sau o serie de elemente.
- Modificarea variabilei de iterație nu modifică tabloul / colecția originală, deoarece este numai de citire.
- Tipul din fiecare buclă trebuie să se potrivească cu tipul elementelor originale / colecției.
- Bucla foreach nu are nevoie de numărul de iterații care să fie specificat, deoarece iterează peste toate elementele colecției.
- Este posibil să opriți pentru fiecare buclă folosind o instrucțiune de pauză.
Articole recomandate
Acesta este un ghid pentru bucla For-Each în Java. Aici vom discuta bucla For-Fiecare în Java cu implementarea codului său în diferite moduri, care este cu instrucțiune de pauză și cu diferite condiții. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -
- Print Array în Java
- Bucle în programare Java
- În timp ce Buclă în Java
- Arrayuri 3D în Java
- Instrumente de implementare Java
- Arrayuri 3D în C ++
- Pentru Bucla în C
- Schiri în programare Java