logo

Katrai cilpai Java

Priekšnosacījums: lēmumu pieņemšana Java
Katram ir vēl viens masīva šķērsošanas paņēmiens, piemēram, for loop, while loop, do-while cilpa, kas ieviesta Java5.

  • Tas sākas ar atslēgvārdu priekš kā parastā for-cilpa.
  • Tā vietā, lai deklarētu un inicializētu cilpas skaitītāja mainīgo, jūs deklarējat mainīgo, kas ir tāda paša veida kā masīva pamattips, kam seko kols, kam seko masīva nosaukums.
  • Cilpas pamattekstā varat izmantot izveidoto cilpas mainīgo, nevis izmantot indeksētu masīva elementu.
  • To parasti izmanto, lai atkārtotu masīvu vai kolekciju klasi (piemēram, ArrayList).

Sintakse:

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

Vienkārša programma ar katru cilpu:



Java

java apgriež virkni




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

>

>

Izvade

virknes sadalīšana c++
10 50 60 80 90>

Iepriekš minētā sintakse ir līdzvērtīga:

maxSoFar) { maxSoFar = skaitlis; } } return maxSoFar; } } Izvade Augstākais rezultāts ir 132 Lēmumu pieņemšanas ierobežojumi katrai cilpai For-each cilpa nav piemērota, ja vēlaties modificēt masīvu : for (int num : marks) { // maina tikai numuru, nevis masīva elementu cipars = cipars*2; } 2. For-each cilpas neseko indeksam . Tātad mēs nevaram iegūt masīva indeksu, izmantojot For-Each cilpu for (int num : numbers) { if (num == target) { return ???; // nezinu skaita indeksu } } 3. Katram masīvam tikai atkārtojas uz priekšu ar atsevišķām darbībām // nevar pārveidot par for-each cilpu priekš (int i=numbers.length-1; i>0 i--) { System.out.println(numbers[i]); } 4. For-each nevar apstrādāt divus lēmumu pieņemšanas paziņojumus vienlaikus // nevar viegli pārveidot par for-each cilpu for (int i=0; i 5. For-each ir arī dažas veiktspējas izmaksas, salīdzinot ar vienkāršu iterāciju: Java / *package whatever //nerakstiet pakotnes nosaukumu šeit */ import java.util.* class GFG { public static void main (String[] args) { List list = new ArrayList(); sākuma laiks; ilgs beigu laiks (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 = saraksts.get(j); } endTime = Calendar.getInstance().getTimeInMillis(); System.out.println('Izmantojot [int j = list.size(); j> izmērs ; j--] :: ' + (endTime - startTime) + ' ms'); } } // Šo kodu sniedz Ayush Choudhary @gfg(code_ayush) Izvade Katrai cilpai :: 45 ms Izmantojot collection.size() :: 11 ms Vispirms aprēķinot collection.size() :: 13 ms, izmantojot [int j = list.size(); j> izmērs ; j--] :: 15 ms Saistītie raksti: For-each C++ vs Java Iterator vs For-each Java>>