Merhaba!
Bu yazımızda C# dili için for döngüsü‘nün nasıl çalıştığını öğreneceğiz. Birçok programlama dilinde mevcuttur. Hatta çoğu neredeyse birbirinin aynısıdır veya çok benzerdir.
Aslında çok basit bir konu fakat kodlamaya yeni başlayanlar için tam bir kafa karışıklığı oluşturuyor. Özellikle de iç içe iki tane for olduğu zaman korkuyla bakılıyor. Şimdi bunlara açıklık getireceğiz. Haydi başlayalım!
For döngüsü mantığı
For döngüsünün asıl amacı şudur : Bir satırı veya kod bloğunu birden fazla kez çalıştırmak istersek bunu her seferinde tek tek yazmalı mıyız? Örneğin ekrana 50 defa Merhaba yazdırmak için,
Console.WriteLine("Merhaba");
Console.WriteLine("Merhaba");
Console.WriteLine("Merhaba");
.
...
Bu şekilde 50 defa yazmam mı gerekiyor? Tabi ki HAYIR!
İşte for döngüsünün basit olarak amacı bunu önlemektir.
Öncelikle C#’ta Visual Studio programını derleyici olarak kullanıyorsanız, birçok kod editöründe mevcut olan tamamlama özelliği mevcut(intellisense). Biz de her seferinde uzun uzun for döngüsü kodunu yazmaktansa for yazıp iki kere Tab‘a basarsak otomatik olarak Visual Studio for döngüsünü bizim için yazacaktır.
for (int i = 0; i < length; i++)
{
}
For döngüsünün içeriği nedir?
For döngüsünün kalıp hali üstteki gibidir. İçeriğini açıklamak istersek;
int i=0; Burada i adında integer(tamsayı) bir değişken oluşturuyoruz. Ve bir değer veriyoruz.(Varsayılan olarak sıfır verir.) Verdiğimiz değere dikkat edelim birazdan ne işe yaradığını açıklayacağım.
i<length; for döngüsünün kaç defa döneceğini burada sınırlıyoruz. Yani benim döngüm i sayısı length’ten küçük olana kadar dönsün.(length dediğimizde aslında bir tamsayı)
i++ bu ise i sayısını her for döndüğünde 1 arttırıyor. (i=i+2 deseydik her döndüğünde, i’yi 2’şer 2’şer arttıracaktı)
Daha iyi anlamak için örnek bir for döngüsü yazalım.
for (int sayac = 1; sayac <= 5; sayac++)
{
Console.WriteLine("Merhaba");
}
Yukarıdaki for döngüsünün ekran çıktısı aşağıdaki gibidir;
//EKRAN ÇIKTISI :
//Merhaba
//Merhaba
//Merhaba
//Merhaba
//Merhaba
Peki nasıl yaptı bunu?
int sayac=1 diyerek aslında bir sayaç oluşturduğumuzu düşünün. Ve for döngüsü her döndüğünde sayac değişkenimiz 1 artıyor. sayac değişkenimiz 5’den küçük olduğu veya 5’e eşit olduğu sürece(bu şekilde ifade ediliyor <= ) for döngüsü dönmeye devam eder. (Eğer <= işareti hakkında bilginiz yoksa C# operatörler aratmasını google da yaparak öğrenebilirsiniz.)
İç İçe For Döngüsü
Üstte for döngüsünün çalışma mantığını anladık. Şimdi ise iç içe for döngüsü nasıl çalışır buna bakalım.
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
}
}
İç içe for döngüsünün en sade hali üstteki gibidir.
Önce dıştaki for döngüsü çalışır ve i değişkeni 0 iken içindeki for döngüsü çalışmaya başlar.(Bu arada dıştaki for içteki for’un bitmesini bekliyor. i hala sıfır.)
İçteki for döngüsü bitmeden dıştaki for döngüsüne geri dönme gibi bir şey söz konusu olamaz.
İçteki for bittikten sonra dıştaki for tekrar çalışır ve i değişkenini 1 arttırır.(i artık 1 oldu.) İçteki for tekrar çalışır ve biter. Böyle böyle dıştaki i değişkeni, verilen sınıra ulaşana kadar içteki for döngüsünü döndürür. Daha iyi anlamak için örnekle anlatıma geçelim.
for (int distaki = 1; distaki <= 2; distaki++)
{
Console.WriteLine("Dıştaki For Çalıştı");
for (int icteki = 1; icteki <= 4; icteki++)
{
Console.WriteLine("İçteki For Çalıştı");
}
}
Dikkat: Dıştaki for’da kullandığımız değişken ismi olan i ile içerideki for’da kullandığımız değişken ismi olan j birbirinden farklı olmalıdır. Çünkü bir blokta aynı isimde 2 değişken tanımlanamaz. (Bunu zaten biliyorsunuzdur yav :))
Ekran çıktısı şu şekilde olur;
//EKRAN ÇIKTISI :
//Dıştaki For Çalıştı
//İçteki For Çalıştı
//İçteki For Çalıştı
//İçteki For Çalıştı
//İçteki For Çalıştı
//Dıştaki For Çalıştı
//İçteki For Çalıştı
//İçteki For Çalıştı
//İçteki For Çalıştı
//İçteki For Çalıştı
- Önce dıştaki for bir defa çalışıyor ve içindeki for çalışmaya başlıyor.
- İçteki for dönme işlemini bitirdikten sonra(yani 4 defa döndükten sonra) dıştaki for tekrar dönecek miyim? diye kontrol ediyor, biz dıştaki for döngüsünün 2 defa dönmesini istedik bu yüzden bir defa daha dönüyor ve içteki for döngüsünü bir daha çalıştırıyor. Bütün bu işlemler olurken kodun hangi sırada çalıştığını anlamak için “Dıştaki For Çalıştı” ve “İçteki For Çalıştı” şeklinde metinler yerleştirmiştik koda hangi sırada çalıştığına bakarak da kodun nasıl çalıştığını anlayabiliriz.
For döngüsü hakkında artık bir ön bilgiye sahipsiniz. Pekiştirmek için,
* Selection Sort Algoritması (C# Kodlama)
bu makaleye göz atabilirsin.
Aklınıza takılan soruları veya düşüncelerinizi aşağıda yorum olarak yazabilirsiniz.
Paylaşmak istersen?
Çok güzel anlatmışsınız teşekkürler.