Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

Java While ve Do While Döngüler

Java meraklılarına selamlar!

Bugün yeni bir java makalesinde yine birlikteyiz ve bugünkü konumuz Java'da While Döngüsü.

Bir önceki Java makalemizde döngülere giriş yapmıştık ve for döngüsünü görmüştük,for döngüsünü hatırlarsak genel 
olarak integer değişken tipini kullandığımız,başlangıç ve bitiş noktalarının belli olduğu döngüydü ve for döngüsünün 
döngü yönü vardı.

Tabi tüm bunlar artık for döngüsünde kaldı çünkü while döngüsü for döngüsü kadar bu kadar çok seçenekleri olan bir 
döngü değil ve while döngüsüne sadece koşulu vermek yeterli olduğu için değişken tipi ve döngü yönü veremiyoruz.
Aşağıda while döngüsünün genel yapısını görüyoruz:

while

While döngüsü içerisinde belirlediğimiz koşul tıpkı if-else yapısında kullandığımız gibi yazılmakta ve döngü her dönüşünde while deyimi içerisinde tekrar koşulu kontrol etmektedir.Eğer koşul sağlanırsa döngü dönmeye devam  edecek,sağlanmazsa döngüden çıkılacaktır.

Basit bir örnek olması için 1'den n'e kadar olan sayıların adedini while döngüsü içerisinde görelim.Şimdi NetBeans IDE'mizi açıyor ve "javaWhile" adında yeni bir Form projesi oluşturuyoruz.
Projemize yeni bir JFrame ekledikten sonra form görüntümüzü aşağıdaki gibi tasarlıyoruz:

Java-Form

Şimdi butonumuzun actionPerformed eventine geçiyor ve değişkenlerimizi yazıyoruz.Öncelikle tüm sayıların toplamını 
tutacak int tipinde "toplam" adında bir değişken tanımlıyoruz ve başlangıç değerini sıfır veriyoruz.Aynı zamanda 
kullanıcının girdiği sayıyıda yine int tipinde "sayi" isimli değişkenimizde tutmalıyız:

java-integer

Şu ana kadar kullanıcının girdiği sayıyı ve bu sayıların toplamını tutacak değişkeni tanımladık,ancak birşeyi unutuyoruz: 
Gelen sayı nerede?

İşte while döngüsünün cilvesi burada,while döngüsü for döngüsüne pek benzemiyor ve for döngüsünde gelen sayıyı nasıl en başta tanımladığımız "i" isimli dönen değerden yakalıyorsak aynı sonucu elde edebilmek için harici değişken 
tanımlamalıyız.Bunun için "suAnkiDeger" isimli bir int tipinde değişken tanımlıyor ve başlangıç değerini sıfır veriyoruz:

java-int

Değişkenlerimiz hazır ve artık while döngümüzü yazabiliriz:

java-while

Döngümüz hazır ve while döngüsü her dönüşünde sayının 1'den büyük olup olmadığını kontrol edecek ve sayı 1'den 
büyükse toplam isimli değişkeni bir artıracaktır.
Döngü tamamlandığında ise toplam isimli değişkenimiz son değerini almış olacak ve döngüden çıkılacak,tabi döngü 
sonunda o ana kadar kaç sayı alındıysa bunu kullanıcıya yansıtmamız için JOptionPane sınıfının showMessageDialog() 
metodunu kullanıyoruz:

java-message-box

Şimdi programımızı test etmeden önce yaptıklarımızı gözden geçirelim:

90,91 ve 93.satırlarda gerekli olan değişkenlerimizi tanımladık,ardından 95.satırda döngümüzü kurduk ve döngümüzün 
koşulu olarak gelen sayı kullanıcının girdiği sayıdan küçük olsun istedik.
97.satırda while döngüsünün dönüşü esnasında gelen o anki değeri toplam isimli değişkenimize ekledik ve 98.satırda 
döngünün koşula tekrar uyması için o andaki gelen değeri 1 artırdık.

While döngüsünde önemli olan döngü içerisinde hangi sayıyı artırmamız gereğidir,çünkü for döngüsü bu işlemi otomatik 
yaparken while döngüsünde bunu yazılımcının yapması gerekmektedir.
Eğer 98.satırdaki o anda gelen değeri 1 artırmasaydık döngü sadece kullanıcının yazdığı sayının sıfırdan büyük olup 
olmadığına bakacak ve bir defa dönecekti,ancak o anki değeri 1 artırdığımız için döngü tekrar kontrol etmeye devam 
etti, ta ki kullanıcının girdiği sayı o anda gelen sayıdan büyük olmayana kadar..

While döngüsü ile öğreneceklerimiz bu kadar! Şimdi de do-while döngüsünü inceleyelim;

Do-While döngüsü tıpkı While döngüsüne benzer ancak while döngüsünden 2 farkı vardır; bunlardan birincisi koşul 
bildiğiniz gibi while içerisinde belirtilir ve bu while deyimi do deyiminden sonra yazılır.İkinci farkı ise en önemli kısmı burası; döngünün koşulu sağlanmasa bile döngü bir defalığına çalışır.

Gelin isterseniz öncelikle Do-While döngüsünün yapısına bakalım:

do-while

Bu defa çalıştırılmasını istediğimiz kodlar do deyimi içerisinde yazılacak ve koşul sağlanmasa bile do içerisine yazılan kodlar çalışacaktır,bunun sebebi program kodları satır satır çalıştırır ve ilk gördüğü satır do deyimi olduğu için kodlar bir defa çalıştırılır,ardından program while koşulunu görür ve koşul sağlanıyorsa tekrar üst satıra giderek do deyimi içerisine yazılan kodları çalıştırır.

Örneğin şöyle bir deneme yapalım:

java-do-while

Programı çalıştıralım:

java-form-debug

Gördüğümüz gibi 4, 1'den küçük olmadığı halde yinede do içerisine yazdığımız kod çalışıyor.Şu ana kadar henüz yazılım 
dünyasında do-while döngüsünü kullanma ihtiyacı duymadım ancak programcılar do-while'ı gereksiz yere yapmış 
olacaklarını sanmıyorum,belki siz kullanma şansına sahip olabilirsiniz.

While ve Do-While döngülerini öğrendiğimize göre makalenin sonuna gelmiş sayılırız,bir sonraki makalemizde görüşmek 
dileğiyle hoşçakalın :)

Projeyi İndir

Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu