Slučka Java for-each alebo vylepšená slučka for je zavedená od verzie J2SE 5.0. Poskytuje alternatívny prístup na prechádzanie poľa alebo kolekcie v jazyku Java. Používa sa hlavne na prechádzanie prvkov poľa alebo kolekcie. Výhodou cyklu for-each je, že eliminuje možnosť chýb a robí kód čitateľnejším. Je známa ako slučka for-each, pretože prechádza každým prvkom jeden po druhom.
Nevýhodou vylepšenej slučky for je, že nemôže prechádzať prvkami v opačnom poradí. Tu nemáte možnosť preskočiť žiadny prvok, pretože nefunguje na základe indexu. Navyše nemôžete prechádzať iba párnymi alebo nepárnymi prvkami.
java znak na reťazec
Odporúča sa však použiť slučku Java for-each na prechádzanie prvkami poľa a kolekcie, pretože kód je čitateľný.
Výhody
- Vďaka tomu je kód čitateľnejší.
- Eliminuje možnosť programovacích chýb.
Syntax
Syntax cyklu Java for-each pozostáva z data_type s premennou, za ktorou nasleduje dvojbodka (:), potom pole alebo kolekcia.
for(data_type variable : array | collection){ //body of for-each loop }
Ako to funguje?
Slučka Java for-each prechádza poľom alebo kolekciou až po posledný prvok. Pre každý prvok uloží prvok do premennej a vykoná telo cyklu for-each.
Pre každú slučku Príklad: Prechádzanie prvkami poľa
//An example of Java for-each loop class ForEachExample1{ public static void main(String args[]){ //declaring an array int arr[]={12,13,14,44}; //traversing the array with for-each loop for(int i:arr){ System.out.println(i); } } }Vyskúšajte to
Výkon:
12 12 14 44
Pozrime sa na ďalšiu slučku Java for-each, kde spočítame prvky.
class ForEachExample1{ public static void main(String args[]){ int arr[]={12,13,14,44}; int total=0; for(int i:arr){ total=total+i; } System.out.println('Total: '+total); } }
Výkon:
Total: 83
Pre každú slučku Príklad: Prechádzanie prvkami kolekcie
import java.util.*; class ForEachExample2{ public static void main(String args[]){ //Creating a list of elements ArrayList list=new ArrayList(); list.add('vimal'); list.add('sonoo'); list.add('ratan'); //traversing the list of elements using for-each loop for(String s:list){ System.out.println(s); } } }Vyskúšajte to
Výkon:
vimal sonoo ratanstiahnite si tento príklad