Döngüler

Döngüler

Aynı işlemi birden fazla kez yaptırmak istediğimizde bu ifadeleri kullanırız. Örneğin 1 – 10 arasındaki sayıları yazdıran bir kod bloğunu bu ifadeler ile yaparız. Ya da içerisinde kayıtlar yer alan bir listedeki kayıtlar bu kod bloğuyla yazdırırız.

Java programlama dilinde bu süreç için 4 farklı döngü kullanılabilmektedir. Bunlar for, foreach, while ve do-while ifadeleridir. 

 

for döngüsü

for kullanım örneği aşağıda gösterilmiştir.

Örnek:

1-100 arası çift sayıları ekrana yazdıran java kodu:

public class ForDongusu {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            if(i%2==0){
                System.out.println(i);
            }            
        }        
    }
}

 

foreach döngüsü

foreach kullanım örneği aşağıda gösterilmiştir.

Örnek:

main metodu içerisinde standart gelen "String[] args" dizisindeki argümanları ekrana yazdıran java kodu:

public class ForDongusu {
    public static void main(String[] args) {       
        for (String string : args) {
            System.out.println(string);
        }
    }
}

 

while döngüsü

while döngüsü ile do-while döngüsü aynı mantık ile çalışmaktadır. Tek fark, while döngüsünde ilk önce bir durum değerlendirilir, durum geçerli ise döngü içerisine girer. do-while döngüsünde ise önce döngü içerisine girer işlemleri bir sefere mahsus gerçekleştirir. Daha sonra durum geçerli ise devam eder, geçerli değil ise döngüden çıkılır.

 

Örnek:

Sistem tarafında random üretilen 0-49 arası bir sayıyı 3 tahminde bulmaya çalışma uygulaması:

import java.util.Random;
import javax.swing.JOptionPane;

public class WhileDongusu {
    public static void main(String[] args) {
        Random rnd = new Random();
        int sayi = rnd.nextInt(49);
        int hak = 3;
        
        while (hak > 0) {
            int tahminiSayi = Integer
                .parseInt(JOptionPane.showInputDialog(null, "Sayı Tahmininiz \n" + hak + " adet şansınız kaldı!"));
       
            if (tahminiSayi == sayi) {
                JOptionPane.showMessageDialog(null, "Tebrikler! Doğru tahmin. Hediyeniz sizi bekliyor.");
                System.exit(0);
            }else{
                JOptionPane.showMessageDialog(null, "Yanlış Tahmin! Tekrar Deneyiniz.");
                hak--;               
            }
        }
        JOptionPane.showMessageDialog(null, "Bugünlük hakkınız doldu. Yarın tekrar bekleriz.");

        
    }
}

 

do-while döngüsü

Aynı işlemi do-while ile gerçekleştirelim.

 

import java.util.Random;
import javax.swing.JOptionPane;

public class DoWhileDongusu {
    public static void main(String[] args) {
        Random rnd = new Random();
        int sayi = rnd.nextInt(49);
        int hak = 3;

        do {
            int tahminiSayi = Integer
                    .parseInt(JOptionPane.showInputDialog(null, "Sayı Tahmininiz \n" + hak + " adet şansınız kaldı!"));
            if (tahminiSayi == sayi) {
                JOptionPane.showMessageDialog(null, "Tebrikler! Doğru tahmin. Hediyeniz sizi bekliyor.");
                System.exit(0);
            } else {
                JOptionPane.showMessageDialog(null, "Yanlış Tahmin! Tekrar Deneyiniz.");
                hak--;
            }
        } while (hak > 0);
        JOptionPane.showMessageDialog(null, "Bugünlük hakkınız doldu. Yarın tekrar bekleriz.");
    }
}