logo

Pentru fiecare buclă în Java

Condiție preliminară: Luarea deciziilor în Java
For-each este o altă tehnică de parcurgere a matricei, cum ar fi bucla for, bucla while, bucla do-while introdusă în Java5.

  • Începe cu cuvântul cheie pentru ca un for-buclă normal.
  • În loc să declarați și să inițializați o variabilă contor de bucle, declarați o variabilă care este de același tip cu tipul de bază al matricei, urmată de două puncte, care este apoi urmată de numele matricei.
  • În corpul buclei, puteți utiliza variabila buclă creată de dvs., în loc să utilizați un element de matrice indexat.
  • Este folosit în mod obișnuit pentru a repeta peste o matrice sau o clasă Colecții (de exemplu, ArrayList)

Sintaxă:

for (type var : array) { statements using var; }>

Program simplu cu pentru fiecare buclă:



Java

sara ali khan varsta




cadru de primăvară
/*package whatever //do not write package name here */> > import> java.io.*;> > class> Easy> > {> > >public> static> void> main(String[] args)> > >{> > >// array declaration> > >int> ar[] = {>10>,>50>,>60>,>80>,>90> };> > >for> (>int> element : ar)> > >System.out.print(element +>' '>);> >}> }>

>

>

Ieșire

10 50 60 80 90>

Sintaxa de mai sus este echivalentă cu:

for (int i=0; i  Java       // Java program to illustrate  // for-each loop  class For_Each  {   public static void main(String[] arg)   {   {   int[] marks = { 125, 132, 95, 116, 110 };     int highest_marks = maximum(marks);   System.out.println('The highest score is ' + highest_marks);   }   }   public static int maximum(int[] numbers)   {   int maxSoFar = numbers[0];     // for each loop   for (int num : numbers)   {   if (num>maxSoFar) { maxSoFar = num;   } } return maxSoFar;   } } Ieșire Scorul cel mai mare este 132 Limitări ale luării deciziilor pentru fiecare buclă Buclele For-each nu sunt adecvate atunci când doriți să modificați matricea : for (int num : marks) { // modifică doar num, nu elementul matricei num = num*2; } 2. Buclele For-each nu țin evidența indexului. Deci nu putem obține indexul matricei folosind bucla For-Each for (int num : numere) { if (num == target) { return ???; // nu cunosc indexul num } } 3. For-each iterează înainte peste matrice în pași unici // nu poate fi convertit într-o buclă for-each for (int i=numbers.length-1; i>0 ; i--) { System.out.println(numerele[i]); } 4. For-each nu poate procesa două declarații de luare a deciziilor simultan // nu poate fi ușor convertit într-o buclă for-each for (int i=0; i 5. For-each are, de asemenea, o suprasarcină de performanță la o iterație simplă: Java / *pachet orice //nu scrieți numele pachetului aici */ import java.util.* class GFG { public static void main (String[] args) { List list = new ArrayList(); startTime; long endTime pentru (int i = 0; i<1000000; i++) {   list.add(i);   }   // Type 1   startTime = Calendar.getInstance().getTimeInMillis();   for (int i : list) {   int a = i;   }   endTime = Calendar.getInstance().getTimeInMillis();   System.out.println('For each loop :: ' + (endTime - startTime) + ' ms');     // Type 2   startTime = Calendar.getInstance().getTimeInMillis();   for (int j = 0; j   int a = list.get(j);   }   endTime = Calendar.getInstance().getTimeInMillis();   System.out.println('Using collection.size() :: ' + (endTime - startTime) + ' ms');     // Type 3   startTime = Calendar.getInstance().getTimeInMillis();   int size = list.size();   for (int j = 0; j   int a = list.get(j);   }   endTime = Calendar.getInstance().getTimeInMillis();   System.out.println('By calculating collection.size() first :: ' + (endTime - startTime) + ' ms');     // Type 4   startTime = Calendar.getInstance().getTimeInMillis();   for(int j = list.size()-1; j>= 0; j--) { int a = list.get(j);   } endTime = Calendar.getInstance().getTimeInMillis();   System.out.println('Utilizarea [int j = list.size(); j> size ; j--] :: ' + (endTime - startTime) + ' ms');   } } // Acest cod este contribuit de Ayush Choudhary @gfg(code_ayush) Ieșire Pentru fiecare buclă :: 45 ms Folosind collection.size() :: 11 ms Prin calcularea collection.size() mai întâi :: 13 ms Folosind [int j = list.size(); j> dimensiune ; j--] :: 15 ms Articole înrudite: For-each în C++ vs Java Iterator vs For-each în Java>