Android Dünyası

101 Android 101 Eğitimi

while Döngüsü

Yazar: Geleceği Yazanlar Ekibi java while döngüsü

Döngüsel işlem veya tekrarlı işlem (iterasyon, İng. iteration), bilgisayarı aynı işlem grubunu belirli bir koşul sağlanana kadar tekrar tekrar yapmak için yönlendirir. Java dilinde döngü yapısını oluşturmak için while döngüsü, do-while döngüsü ve for döngüsü kullanılır.

 

while döngüsü

While döngüsü bir şart sağlanıyor iken sürekli içindeki komutları çalıştırır. Kelime anlamı olarak "olduğu müddetçe" anlamı çıkar. Yapısı şöyledir:

while (koşul) {
    //komut 1
    //komut 2
    //...
    //komutlar
}

While döngüsünde koşulun en başta olması ayırt edici bir özelliktir. Program akışı önce buradaki koşulu mantıksal bir süzgeçten geçirir. Buna göre eğer koşula yazılan ifade matematiksel olarak true (doğru) değer döndürüyorsa, süslü parantezlerle çevrili bloktaki komutlar sırasıyla çalıştırılır. Ancak false (yanlış) değerini döndürüyorsa, bu komutlar hiçbir zaman çalışmayacaktır. Bu durumda program akışına döngünün bittiği yerden devam eder.

Koşulun true (doğru) döndürmesinin ardından bloktaki komutlar sırasıyla çalıştırılır ve son komut da çalıştırıldığında akış tekrardan koşulun olduğu satıra gelir ve koşulun true değer döndürüp döndürmediği kontrol edilir. Koşul doğru olduğu müddetçe komutlar çalıştırılır.

Şimdi, while döngüsünü kullanarak 10'dan geriye doğru giden ve bu sırada sayıları ekrana basan bir Java uygulaması yapalım:

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

        int sayac=10;
        while (sayac>=1) {
            System.out.println(sayac);
            sayac--;
        }
    }
}

Bu uygulamanın ekran çıktısı çok basitçe

şeklinde olacaktır.

While döngüsü yazarken şart ifadesinde mantıksal hatalar yapmamaya dikkat etmeliyiz.

Aşağıdaki programda bir faktöriyel hesabı yapalım. 1'den 10'a kadar olan sayıların faktöriyelini ekrana basan bir Java programı olsun.

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

        int faktoriyel=1;
        int carpan=1;
        while(carpan<=10) {
            faktoriyel=faktoriyel*carpan; //1*1, 1*2, 2*3, 6*4, 24*5...
            System.out.println(carpan+" faktoriyel: "+faktoriyel);
            carpan++;
        }
    }
}

Bu programın örnek ekran çıktısı şöyle olacaktır:

Yukarıdaki örnekte while döngüsü, programcı tarafından sınırları belli bir alanda çalışıyor: carpan değişkeni 10'a eşit veya küçük olduğu müddetçe. While döngüsü genelde tam sayı gibi sınırları kesin olarak belli alanlarda kullanılmaz. Sınırları kesin belli olan tekrarlamalar için sonraki bölümlerde göreceğiniz for döngüsü kullanılır.

Bir sonraki konuda, while döngüsünden tek farkı şartın yazıldığı yer olan do-while döngüsünü göreceksiniz.