Java For Döngüsü
Uzun bir aradan sonra Java meraklılarına yeniden merhaba :)
Son iki makalemizde java karar yapılarını gördük ve bugünse yep yeni bir konuya giriş yapıyoruz:Döngüler!
Döngü kod yapılarının yazılım dünyasında ap ayrı bir yeri vardır ve sıklıkla kullanılmasa bile programlama konusunda istisnasız öğrenilmesi gereken konuların başında yer alır.
Kısaca döngüden bahsedersek şöyle özetleyebiliriz; kendisine verilen başlangıç ve bitiş noktaları arasında çalışan kod parçacıklarına döngü denir.Döngüler içerisine kod yazılabilir ve her döngünün dönüş anında bu kodlar çalıştırılabilmektedir.
Döngüler konusunu makale dizisi şeklinde anlatacağım çünkü yazılımcılıkta birden çok döngü çeşidi vardır ve bugün "for" döngüsünü işleyeceğiz.
Açıkçası yazılım eğitimi aldığım deneyimsiz günlerimde en zorlandığım döngü tipidir ancak daha sonraları kendisiyle özel olarak ilgilendikten sonra en sevdiğim döngü tipi oldu ve sizinde seveceğiniz ve birazcıkta zorlanabileceğiniz döngü tipi olabilir.
İşte başlıyoruz :)
For döngüsü kendisine verilen bir başlangıç noktası ile bitiş noktası arasında verilebilen ve çoğunlukla int tipinde kullanılan bir kod yapısıdır.
Aşağıda for döngüsünün yapısını görebiliriz:
Bu döngü 0'dan başlayıp birer birer artarak 100'e kadar (100 hariç) devam etmektedir.Mantıken işleyiş tarzı şu
şekildedir:
Döngü başlamadan önce int tipinde i değişkeni tanımlanır ve değerine sıfır atanır,ardından i değişkeninin değeri 100'den küçük mü diye kontrol edilir ve koşul sağlanıyorsa iterasyon ya da diğer adıyla döngü yönüne bakılır,döngü yönü i++ olduğu için sayı 1 artırılır ve i değişkeninin yeni değeri 1 olur.Döngü i değişkeninin 99 olması durumunda ise döngüden çıkılır.
For döngüsü gayet esnek bir yapıya sahiptir ve döngünün içeriğini istediğiniz şekilde değiştirebilirsiniz,örneğin int tipinde değil de char tipinde bir döngü verirseniz size harfleri küçükten büyüğe doğru sıralar,ya da i<100 denilen koşul kısmını kullanmazsanız sonsuza kadar çalışabilir veya i++ olan döngü yönünü i-- olarak değiştirirseniz bu defa da sayıları eksi değere kadar düşürerek ilerleyebilir.
For döngüsünü buraya kadar anlattıklarımla az biraz artık hayal edebiliyor olmalısınız,şimdi küçük bir örnek yapalım:
kullanıcı jTextfield'e bir sayı girsin ve o sayıya kadar çift sayıları bulalım ve her sayıyı toplayalım.Biraz matematik sınav sorusuna benzedi ama gayet kolay bir örnek olacağını göreceksiniz :)
Şimdi NetBeans IDE'mizi açalım ve "forApp" adında yeni bir jFrame projesi oluşturalım,ardından frame'e 5 label,1
textfield ve bir de button ekleyelim:
Şimdi JButton'umuzun click eventimize geçiyoruz.Öncelikle jTextField'in boş geçilmemesi için if-else karar yapısını
kullanıyoruz:
Şimdi kullanıcının girdiği değişkenimizi int tipinde tanımlıyor ve for döngümüze ekliyoruz:
Şimdide bu sayıların toplamını almak için yine int tipinde "toplam" adında bir değişken tanımlıyoruz,bu değişkenin
başlangıç değerini sıfır veriyoruz çünkü for döngüsü içerisinde bu sayı artmaya başlayacak:
Artık geldik konumuzun özüne,şimdi for döngümüzün içerisine kodlarımızı yazacağız.For döngüsünde,döngü içerisinde
sırası gelen sayının çift olup olmadığını daha önce java değişkenleri makalemizden hatırlayacağınız % işaretini kullanarak yakalayacağız:
Sayının çift olup olmadığını yakaladık,şimdiyse gelen sayıyı jFrame'de göstermek için daha önce belirlediğimiz jSayilar ismindeki labela yazdırıyoruz ve bunu yaparken aynı zamanda "toplam" isimli değişkenimizin değerine ekliyoruz:
Son olarak "toplam" değişkenimizin son değerini "jLabelToplam" isimli labela yazdırıyoruz ancak bu yazdırma olayını for döngüsü dışında tutuyoruz çünkü her for dönüşünde yeniden yazdırmak yerine döngü tamamlandıktan sonra yazılması
daha mantıklı ve öyle de olması gerekir.Bunun dışında jSayilar isimli labelın textine frame tasarımı yaparken bol treli (-)
değerler vermiştik,bunu da temizlemek gerekiyor :)
Artık kodlama işlemini tamamladık ve yukarıdaki görselde kodlarımızı görebilirsiniz.Projeyi çalıştırmadan önce son olarak ne yaptık bi bakalım:
121.satırda kullanıcının sayı girmeden butona tıklamasını engellemek için if-else koşulu oluşturduk,
123.satırda jSayilar label'ın içeriğini temizledik,ki buraya sayılarımız gelecek,
124.satırda kullanıcının girdiği sayıyı yakaladık,
127.satırda for döngüsünü kurduk,
129.satırda döngüden gelen sayının çift olup olmadığını kontrol ettik,
131.satırda döngüden gelen çift sayıları düzenli olarak jSayilar label'ına ekledik,
132.satırda döngüden gelen çift sayıyı toplam değişkenine ekledik,
136.satırda ise döngü bittiğinde elde edilen toplam değeri jLabelToplam isimli label'a yazdırdık.
Şimdi programımızı test edelim:
Gördüğünüz gibi gayet güzel bir uygulama oldu,tabi for döngüsü ile yapabileceğimiz daha bir dünya örnek var ancak
bu döngüyü sonraki makalelerimizden biri olan dizilerde çok kullanışlı bir şekilde kullanacağız :)
Bir sonraki makalemizde görüşmek dileğiyle,hoşçakalın :)
Projeyi İndir
Son iki makalemizde java karar yapılarını gördük ve bugünse yep yeni bir konuya giriş yapıyoruz:Döngüler!
Döngü kod yapılarının yazılım dünyasında ap ayrı bir yeri vardır ve sıklıkla kullanılmasa bile programlama konusunda istisnasız öğrenilmesi gereken konuların başında yer alır.
Kısaca döngüden bahsedersek şöyle özetleyebiliriz; kendisine verilen başlangıç ve bitiş noktaları arasında çalışan kod parçacıklarına döngü denir.Döngüler içerisine kod yazılabilir ve her döngünün dönüş anında bu kodlar çalıştırılabilmektedir.
Döngüler konusunu makale dizisi şeklinde anlatacağım çünkü yazılımcılıkta birden çok döngü çeşidi vardır ve bugün "for" döngüsünü işleyeceğiz.
Açıkçası yazılım eğitimi aldığım deneyimsiz günlerimde en zorlandığım döngü tipidir ancak daha sonraları kendisiyle özel olarak ilgilendikten sonra en sevdiğim döngü tipi oldu ve sizinde seveceğiniz ve birazcıkta zorlanabileceğiniz döngü tipi olabilir.
İşte başlıyoruz :)
For döngüsü kendisine verilen bir başlangıç noktası ile bitiş noktası arasında verilebilen ve çoğunlukla int tipinde kullanılan bir kod yapısıdır.
Aşağıda for döngüsünün yapısını görebiliriz:
Bu döngü 0'dan başlayıp birer birer artarak 100'e kadar (100 hariç) devam etmektedir.Mantıken işleyiş tarzı şu
şekildedir:
Döngü başlamadan önce int tipinde i değişkeni tanımlanır ve değerine sıfır atanır,ardından i değişkeninin değeri 100'den küçük mü diye kontrol edilir ve koşul sağlanıyorsa iterasyon ya da diğer adıyla döngü yönüne bakılır,döngü yönü i++ olduğu için sayı 1 artırılır ve i değişkeninin yeni değeri 1 olur.Döngü i değişkeninin 99 olması durumunda ise döngüden çıkılır.
For döngüsü gayet esnek bir yapıya sahiptir ve döngünün içeriğini istediğiniz şekilde değiştirebilirsiniz,örneğin int tipinde değil de char tipinde bir döngü verirseniz size harfleri küçükten büyüğe doğru sıralar,ya da i<100 denilen koşul kısmını kullanmazsanız sonsuza kadar çalışabilir veya i++ olan döngü yönünü i-- olarak değiştirirseniz bu defa da sayıları eksi değere kadar düşürerek ilerleyebilir.
For döngüsünü buraya kadar anlattıklarımla az biraz artık hayal edebiliyor olmalısınız,şimdi küçük bir örnek yapalım:
kullanıcı jTextfield'e bir sayı girsin ve o sayıya kadar çift sayıları bulalım ve her sayıyı toplayalım.Biraz matematik sınav sorusuna benzedi ama gayet kolay bir örnek olacağını göreceksiniz :)
Şimdi NetBeans IDE'mizi açalım ve "forApp" adında yeni bir jFrame projesi oluşturalım,ardından frame'e 5 label,1
textfield ve bir de button ekleyelim:
Şimdi JButton'umuzun click eventimize geçiyoruz.Öncelikle jTextField'in boş geçilmemesi için if-else karar yapısını
kullanıyoruz:
Şimdi kullanıcının girdiği değişkenimizi int tipinde tanımlıyor ve for döngümüze ekliyoruz:
Şimdide bu sayıların toplamını almak için yine int tipinde "toplam" adında bir değişken tanımlıyoruz,bu değişkenin
başlangıç değerini sıfır veriyoruz çünkü for döngüsü içerisinde bu sayı artmaya başlayacak:
Artık geldik konumuzun özüne,şimdi for döngümüzün içerisine kodlarımızı yazacağız.For döngüsünde,döngü içerisinde
sırası gelen sayının çift olup olmadığını daha önce java değişkenleri makalemizden hatırlayacağınız % işaretini kullanarak yakalayacağız:
Sayının çift olup olmadığını yakaladık,şimdiyse gelen sayıyı jFrame'de göstermek için daha önce belirlediğimiz jSayilar ismindeki labela yazdırıyoruz ve bunu yaparken aynı zamanda "toplam" isimli değişkenimizin değerine ekliyoruz:
Son olarak "toplam" değişkenimizin son değerini "jLabelToplam" isimli labela yazdırıyoruz ancak bu yazdırma olayını for döngüsü dışında tutuyoruz çünkü her for dönüşünde yeniden yazdırmak yerine döngü tamamlandıktan sonra yazılması
daha mantıklı ve öyle de olması gerekir.Bunun dışında jSayilar isimli labelın textine frame tasarımı yaparken bol treli (-)
değerler vermiştik,bunu da temizlemek gerekiyor :)
Artık kodlama işlemini tamamladık ve yukarıdaki görselde kodlarımızı görebilirsiniz.Projeyi çalıştırmadan önce son olarak ne yaptık bi bakalım:
121.satırda kullanıcının sayı girmeden butona tıklamasını engellemek için if-else koşulu oluşturduk,
123.satırda jSayilar label'ın içeriğini temizledik,ki buraya sayılarımız gelecek,
124.satırda kullanıcının girdiği sayıyı yakaladık,
127.satırda for döngüsünü kurduk,
129.satırda döngüden gelen sayının çift olup olmadığını kontrol ettik,
131.satırda döngüden gelen çift sayıları düzenli olarak jSayilar label'ına ekledik,
132.satırda döngüden gelen çift sayıyı toplam değişkenine ekledik,
136.satırda ise döngü bittiğinde elde edilen toplam değeri jLabelToplam isimli label'a yazdırdık.
Şimdi programımızı test edelim:
Gördüğünüz gibi gayet güzel bir uygulama oldu,tabi for döngüsü ile yapabileceğimiz daha bir dünya örnek var ancak
bu döngüyü sonraki makalelerimizden biri olan dizilerde çok kullanışlı bir şekilde kullanacağız :)
Bir sonraki makalemizde görüşmek dileğiyle,hoşçakalın :)
Projeyi İndir
çok güzel bi makale olmuş!