Java For-Each Döngüsü

Selamlar,

    Modern programlama dillerinin hepsinde for-each kavramı benimsenmiş ve programcıların gereksinim duyduğu standart bir özellik haline gelmiştir. For-each olarak bildiğiniz bu döngü javada bulunmamaktadır. Diziler ve koleksiyonlarla çalışıyorsanız  , dizilerin / koleksiyonların(arrays/collections) öğelerini yinelemek için alternatif for döngü söz dizimini (gelişmiş for döngü biçimi ) kullanabilirsiniz. Ayrıca her döngü için de adlandırılır, çünkü döngü dizi / koleksiyonun her bir elemanı boyunca yinelenir.

Normal bir döngüden farkını anlamak için for example (For example hayat kurtarır 🙂 );

Standart bir For kullanımı: 

class Dongu{
   public static void main(String []Args){
  char[] harf = {'a','b','e','c','i'};
for (int i  =0 ; i<harf.length; i++){
System.out.println(harf[i]);
}}}

For-Each kullanımı aynı örnek:

class Dongu2{
public static void main(String [] Args){
char[] harfler = {'a','b','e','c','i'};
for(char degisken:harfler){
system.out.println(degisken);
}}}

İki kullanımında ekran çıktıları aynıdır.

Ekran çıktısı:

a
b
e
c
i

  ForEach, dizi (array) ve koleksiyon (collection) tabanlı nesnelerin elemanları üzerinden ilerleyen, iterasyon gerçekleştirerek bu elemanlara erişip iş katmanınızı oluşturabileceğiniz bir döngüdür. Bu döngünün yapısını anlamak için  bir örnek daha yapalım.

Kişiler sınıfı:

package ForEachExample;

public class Kisiler {
private String isim;
private int yas;
public Kisiler(String isim, int yas)
{this.isim=isim;
 this.yas=yas;
}
public String getIsim() {
return isim;}

public void setIsim(String isim) {
this.isim = isim;}

public int getYas() {
return yas;}

public void setYas(int yas) {
this.yas = yas;}

public void EkranaYaz()
{
System.out.println("İsim :" + getIsim());
System.out.println("Yaş :" + getYas() );
}}

Main class:

package ForEachExample;

public class Main {
public static void main(String[] args) {

Kisiler[] dizi1 = {new Kisiler("Alpay", 25), new Kisiler("Dilara", 15)};

int[] dizi2 = {1,2,3,4,5};

String[] dizi3 = {"Ali","Osman","Veli"};

for(Kisiler a: dizi1)/ForEach loop
{a.EkranaYaz(); }

for (int b : dizi2) //ForEach loop
{System.out.println("Dizi2 : " + b);}

for(String c: dizi3)/ForEach loop
{System.out.println("Dizi3 :" + c);}

}}

Umarım faydalı olmuştur.

Bilgi paylaştıkça artar paylaşarak destek ol.