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 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:
Ş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:
Ş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:
Değişkenlerimiz hazır ve artık while döngümüzü yazabiliriz:
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:
Ş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:
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:
Programı çalıştıralım:
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
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 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:
Ş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:
Ş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:
Değişkenlerimiz hazır ve artık while döngümüzü yazabiliriz:
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:
Ş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:
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:
Programı çalıştıralım:
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