Merhaba arkadaşlar, konumuz bildiğiniz üzere döngüler, geçen yazıda while ve do while döngülerini incelemiştik.Bu yazıda ise for ve foreach döngülerine bir göz atacağız.
For döngüsü
For döngüsü en çok kullanacağınız döngü diyebilirim.Mantığı diğer döngülerle aynıdır; bir sayaç değişkeni vardır, döngü şartı vardır, ve döngü her döndürüldüğünde sayaç artırılıp şart kontrol edilir.Unutmadan söyleyeyim; Visual Studio'daki güzel özelliklerden bir tanesi de, mesela for yazıp iki kere TAB tuşuna basarsanız otomatik olarak for döngüsünün şablonunu oluşturur.If- Else ve While vb. aynı şekildedir.
Döngünün temel yapısı aşağıdaki gibidir;
Aslında pek zor sayılmaz, ama yinede biraz karmaşık görünmüş olabilir, açıkladıkça anlaşılacaktır.Döngü değişkeni kısmında döngünün sayacı olmak üzere bir değişken tanımlayacağız(örn. int i).Şart kısmında bildiğiniz üzere döngünün hangi durumlarda çalıştırılacağını belirteceğiz.Sayacın artırılma kısmıda, sayaç değişkenimizi yapacağımız işleme göre artırmaktır ki genelde birer birer artırılır(i++).Kodlar bölümünde döngünün her dönüşünde icra etmesini istediğimiz kodları yazarız.Yani basit bir örnek vermek gerekirse;
Yukarıdaki program anladığınız üzere i değişkenini 100 defa ekrana yazacaktır.Fakat her defasında 1 artırıldığı için 1,2,3 diye artarak yazılacaktır.En son i değişkeni 101 olduğunda yani "i <= 100" şartı sağlanmadığında döngü duracak ve program sonlanacaktır.Daha doğrusu sonlanmak için bizim bir tuşa basmamızı bekleyecektir.Buradaki adreste for döngüsünün işleyişi hakkında bir flash animasyon bulunuyor.Eğer görüntülemede problem yaşıyorsanız Adobe Flash Player'ı yüklemelisiniz.
Daha öncede söylediğim gibi "break" komutu döngüden çıkmamıza yarar.İsterseniz bununla ilgili bir örnek kod hazırlayalım;
Yukarıdaki kodda ise program aslında bir önceki kodla hemen hemen aynı, burada sadece döngümüzün içindeki kodlara bir yenisini ekledik; if kontrolü "i" değişkeninin 70'e eşit olup olmadığını kontrol ederek eşitlendiğinde break komutu ile döngüden çıkmasını sağlayacaktır.Bu nedenlede program ekrana 100'e kadar değil 70'e kadar yazdıracaktır.
MSDN'deki for döngüsü(for loop) örneği ise şu şekilde;
Yeri gelmişken şunuda belirteyim; kodların karmaşıklaşmasını önlemek için içlerine açıklama satırları koyabiliriz.Açıklama satırları derleyici(compiler) tarafından işlenilmeyen, sadece sizin gördüğünüz satırlardır programa hiçbir etkisi yoktur.Eğer açıklama satırınız tek satır olacaksa başına "//"(iki tane slash '/') koymanız yeterlidir.Örneğin; " a = 5; // a değerine 5 ver ".Fakat açıklama satırınız birden fazla ise başına; "/*" ve sonuna "*/" koymalısınız.Örneğin; "/* umut coşkun */"(tırnaklar olmadan).
İsterseniz şimdi while döngüsü ile yaptığımız faktoriyel programını şimdide for döngüsü kullanarak yapalım;
Hazır açıklama satırlarından bahsetmişken kodları da bu şekilde yapayım dedim.While döngüsü ile aynı mantık sadece değişkenlerin yerleri değişik.
Sanırım for döngüsü için bu kadar açıklama yeter.Şimdide foreach döngüsüne bir göz atalım.
Foreach döngüsü
Foreach döngüsü genellikle bir dizinin tüm elemanlarına erişmek için kullanılır.
Temel yapı aşağıdaki gibidir;
Bu şekilde biraz boşta kalabilir, mesela bir dizinin içindeki tüm elemanları toplayan bir döngü yazalım;
Buradaki örnekte, sayilar dizisindeki tüm elemanları toplyarak "+=" ifadesi ile teker teker toplam değişkenine attık, en son olarak da toplam değişkenini ekrana yazdırdık.
Dizi Nedir? [Eklenecek]
Foreach döngüsü sadece dizilerle kullanılacak diye bir kural yoktur, mesela bir string değişkenin içindeki harfleri teker teker alabiliriz.Mesela istediğiniz bir stringi yukarıdan aşağıya yazdıralım;
Sanırım yeterince anlaşılır oldu.Genel olarak foreach döngüsü bir yapının tüm elemanlarına ulaşmaya yarar.İşte buda MSDN'in foreach için verdiği örnek kod;
İşte Foreach hakkında bir iki örnek kod;
For ve Foreach döngüleri için yazacaklarım bu kadar.Bir sonraki yazıda görüşmek üzere, İyi Günler.
Umut Coşkun