C# For Döngüsü Kullanımı ve Örnekleri
C# programlama dilinde döngüler, belirli işlemlerin tekrar tekrar gerçekleştirilmesini sağlayan kontrol yapılarıdır. Özellikle aynı komutların birden fazla kez çalıştırılması gereken durumlarda döngüler kullanılarak daha kısa, düzenli ve anlaşılır kodlar yazılabilir.
C# dilinde en sık kullanılan döngülerden biri for döngüsüdür. For döngüsü, özellikle tekrar sayısının önceden bilindiği veya bir sayaç üzerinden kontrol edilebildiği durumlarda tercih edilir. Sayıları sıralama, toplam hesaplama, çarpım tablosu oluşturma ve belirli aralıktaki değerleri işleme gibi birçok uygulamada kullanılır.
1. C# FOR DÖNGÜSÜ NEDİR?
For döngüsü, belirli bir koşul doğru olduğu sürece aynı komut bloğunu tekrar tekrar çalıştıran bir döngü yapısıdır.
Örneğin ekrana 1'den 10'a kadar sayıları yazdırmak istediğimizde aynı Console.WriteLine komutunu 10 kez yazmak yerine for döngüsü kullanabiliriz.
For döngüsü genel olarak üç temel bölümden oluşur:
- Başlangıç değeri: Döngüde kullanılacak sayaç değişkeninin ilk değerini belirler.
- Koşul: Döngünün hangi şart altında devam edeceğini belirler.
- Artırma veya azaltma: Her tekrarın ardından sayaç değerini değiştirir.
2. FOR DÖNGÜSÜNÜN SÖZ DİZİMİ
C# programlama dilinde for döngüsünün genel kullanımı aşağıdaki gibidir.
for (baslangic; kosul; artisAzalis)
{
// Tekrarlanacak komutlar
}
For döngüsünün çalışma sırası şu şekildedir:
- Başlangıç işlemi bir kez gerçekleştirilir.
- Koşul kontrol edilir.
- Koşul doğruysa döngü içerisindeki komutlar çalıştırılır.
- Artırma veya azaltma işlemi gerçekleştirilir.
- Koşul tekrar kontrol edilir.
- Koşul yanlış olana kadar işlemler tekrarlanır.
FOR DÖNGÜSÜ İLE İLK ÖRNEK
for (int i = 1; i <= 5; i++)
{
Console.WriteLine("Merhaba C#");
}
Bu örnekte "Merhaba C#" mesajı ekrana 5 kez yazdırılır.
Döngüde kullanılan i değişkeni sayaç görevindedir. Sayaç 1 değerinden başlar ve her tekrarda bir artırılır.
3. FOR DÖNGÜSÜNDE SAYAÇ DEĞİŞKENİ
For döngüsünde kullanılan sayaç değişkeni, döngünün kaçıncı tekrarda olduğunu takip etmek için kullanılır. Sayaç değişkeni genellikle i, j veya k harfleriyle tanımlanır. Ancak istenilen geçerli değişken adı kullanılabilir.
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}
Bu uygulama ekrana 1'den 10'a kadar olan sayıları alt alta yazdırır.
Ekran çıktısı:
1
2
3
4
5
6
7
8
9
10
Önemli: Döngüde başlangıç değeri, koşul ve artırma miktarı doğru belirlenmelidir. Aksi durumda döngü beklenenden fazla, az veya hiç çalışmayabilir.
4. FOR DÖNGÜSÜNDE ARTIRMA VE AZALTMA İŞLEMLERİ
For döngüsünde sayaç değişkeni her tekrarda artırılabilir veya azaltılabilir. Bunun için artırma ve azaltma operatörlerinden yararlanılır.
ARTAN FOR DÖNGÜSÜ
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}
Bu döngü 1'den başlayarak 10'a kadar sayıları yazdırır.
AZALAN FOR DÖNGÜSÜ
for (int i = 10; i >= 1; i--)
{
Console.WriteLine(i);
}
Bu döngü 10'dan başlayarak 1'e kadar sayıları azalan sırayla yazdırır.
İKİŞER ARTAN FOR DÖNGÜSÜ
for (int i = 0; i <= 20; i += 2)
{
Console.WriteLine(i);
}
Bu örnekte sayaç her tekrarda 2 artırılır. Böylece 0, 2, 4, 6 gibi çift sayılar ekrana yazdırılır.
5. FOR DÖNGÜSÜNDE KOŞUL KULLANIMI
For döngüsünün devam edip etmeyeceği koşul bölümünde belirtilir. Koşul doğru olduğu sürece döngü çalışmaya devam eder.
for (int i = 1; i < 5; i++)
{
Console.WriteLine(i);
}
Bu örnekte koşul i < 5 olarak belirlenmiştir. Bu nedenle ekrana 1, 2, 3 ve 4 sayıları yazdırılır. Sayaç 5 olduğunda koşul yanlış olacağından döngü sona erer.
KÜÇÜKTÜR VE KÜÇÜK EŞİTTİR FARKI
| Koşul |
Çalışma Aralığı |
Tekrar Sayısı |
| i < 5 |
1, 2, 3, 4 |
4 |
| i <= 5 |
1, 2, 3, 4, 5 |
5 |
| i < 10 |
1 - 9 |
9 |
| i <= 10 |
1 - 10 |
10 |
Tablodaki örneklerde sayaç 1'den başlamakta ve her tekrarda 1 artırılmaktadır.
6. FOR DÖNGÜSÜ İLE TOPLAMA İŞLEMİ
For döngüsü yalnızca ekrana değer yazdırmak için kullanılmaz. Belirli aralıktaki sayıların toplamını hesaplamak için de kullanılabilir.
int toplam = 0;
for (int i = 1; i <= 5; i++)
{
toplam += i;
}
Console.WriteLine("Toplam: " + toplam);
Bu örnekte toplam değişkeni başlangıçta 0 olarak tanımlanır. Döngü her çalıştığında sayaç değeri toplam değişkenine eklenir.
İşlem sonucunda 1 + 2 + 3 + 4 + 5 = 15 elde edilir.
Ekran çıktısı: Toplam: 15
7. FOR DÖNGÜSÜ İLE İÇ İÇE DÖNGÜ KULLANIMI
Bir for döngüsünün içerisinde başka bir for döngüsü kullanılabilir. Bu yapıya iç içe döngü adı verilir.
İç içe döngüler özellikle çarpım tablosu, satır-sütun işlemleri ve çeşitli şekiller oluşturmak için kullanılır.
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
Console.WriteLine("i = " + i + " j = " + j);
}
}
Bu örnekte dış döngü 3 kez, iç döngü ise dış döngünün her tekrarında 3 kez çalışır. Böylece toplam 9 satır çıktı oluşturulur.
8. UYGULAMA 1: 1'DEN 100'E KADAR SAYILARI YAZDIRMA
For döngüsünü kullanarak 1'den 100'e kadar olan tam sayıları ekrana yazdıran bir Console uygulaması hazırlayalım.
for (int i = 1; i <= 100; i++)
{
Console.WriteLine(i);
}
Açıklama: Sayaç değişkeni 1'den başlar ve her tekrarda 1 artırılır. Sayaç 100 değerine ulaştığında son kez çalışır. Ardından 101 olur ve koşul yanlış olduğu için döngü sona erer.
EK UYGULAMA: SAYILARI TERSTEN YAZDIRMA
Aynı uygulamayı 100'den 1'e doğru azalan şekilde hazırlayalım.
for (int i = 100; i >= 1; i--)
{
Console.WriteLine(i);
}
Bu örnekte artırma yerine azaltma operatörü kullanılmıştır.
9. UYGULAMA 2: TEK VE ÇİFT SAYILARI BULMA
Kullanıcıdan bir sayı alarak 1'den girilen sayıya kadar olan çift sayıları ekrana yazdıralım.
Console.Write("Bir sayı giriniz: ");
int sayi = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Çift sayılar:");
for (int i = 1; i <= sayi; i++)
{
if (i % 2 == 0)
{
Console.WriteLine(i);
}
}
Açıklama: Döngü 1'den başlayarak kullanıcının girdiği sayıya kadar ilerler. Her sayının 2 ile bölümünden kalan kontrol edilir. Kalan sıfırsa sayı çifttir ve ekrana yazdırılır.
Örnek: Kullanıcı 10 girerse 2, 4, 6, 8 ve 10 sayıları görüntülenir.
EK UYGULAMA: TEK SAYILARI BULMA
Aynı işlemi tek sayılar için gerçekleştirmek istersek koşulu aşağıdaki şekilde değiştirebiliriz.
for (int i = 1; i <= 20; i++)
{
if (i % 2 != 0)
{
Console.WriteLine(i);
}
}
Bu örnekte 1 ile 20 arasındaki tek sayılar ekrana yazdırılır.
10. UYGULAMA 3: 1'DEN N'E KADAR SAYILARIN TOPLAMINI BULMA
Kullanıcıdan pozitif bir tam sayı alarak 1'den bu sayıya kadar olan sayıların toplamını hesaplayan bir uygulama geliştirelim.
Console.Write("Pozitif bir tam sayı giriniz: ");
int sayi = Convert.ToInt32(Console.ReadLine());
int toplam = 0;
if (sayi > 0)
{
for (int i = 1; i <= sayi; i++)
{
toplam += i;
}
Console.WriteLine("Sayıların toplamı: " + toplam);
}
else
{
Console.WriteLine("Pozitif bir sayı girmelisiniz.");
}
Açıklama: Kullanıcının girdiği sayı pozitifse döngü çalışır. Sayaç değişkeninin her değeri toplam değişkenine eklenir.
Örnek: Kullanıcı 10 girerse sonuç 55 olacaktır.
11. UYGULAMA 4: FAKTÖRİYEL HESAPLAMA
Faktöriyel, pozitif bir tam sayının kendisinden başlayarak 1'e kadar olan bütün pozitif tam sayılarla çarpılmasıdır. Ayrıca 0 faktöriyel 1 olarak kabul edilir.
Örneğin 5! = 5 × 4 × 3 × 2 × 1 = 120 şeklinde hesaplanır.
For döngüsünü kullanarak faktöriyel hesaplayan bir uygulama hazırlayalım.
Console.Write("0 ile 20 arasında bir sayı giriniz: ");
int sayi = Convert.ToInt32(Console.ReadLine());
long faktoriyel = 1;
if (sayi >= 0 && sayi <= 20)
{
for (int i = 1; i <= sayi; i++)
{
faktoriyel *= i;
}
Console.WriteLine("Faktöriyel: " + faktoriyel);
}
else
{
Console.WriteLine("0 ile 20 arasında bir sayı giriniz.");
}
Açıklama: Faktöriyel değişkeni başlangıçta 1 olarak tanımlanır. Döngü her çalıştığında sayaç değeri faktöriyel değişkeniyle çarpılır.
Örneğin kullanıcı 5 girerse sonuç 120 olacaktır.
Önemli: Bu örnekte long veri türü kullanılmıştır. 20! değeri long türünün sınırları içerisinde olduğundan giriş 0 ile 20 arasında sınırlandırılmıştır.
12. UYGULAMA 5: ÇARPIM TABLOSU OLUŞTURMA
İç içe for döngülerini kullanarak 1'den 10'a kadar olan sayıların çarpım tablosunu oluşturalım.
for (int i = 1; i <= 10; i++)
{
Console.WriteLine("----- " + i + " ÇARPIM TABLOSU -----");
for (int j = 1; j <= 10; j++)
{
Console.WriteLine(i + " x " + j + " = " + (i * j));
}
Console.WriteLine();
}
Açıklama: Dış döngü çarpım tablosunun hangi sayı için oluşturulacağını belirler. İç döngü ise bu sayıyı 1'den 10'a kadar olan sayılarla çarpar.
Örneğin dış döngüde i değeri 3 olduğunda 3'ün çarpım tablosu oluşturulur.
EK UYGULAMA: YILDIZLARLA ÜÇGEN OLUŞTURMA
İç içe for döngülerini kullanarak yıldız karakterlerinden oluşan bir üçgen de oluşturabiliriz.
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Ekran çıktısı:
*
**
***
****
*****
Bu örnekte dış döngü satır sayısını, iç döngü ise her satırda kaç yıldız yazdırılacağını belirler.
13. FOR DÖNGÜSÜNDE BREAK VE CONTINUE KULLANIMI
For döngülerinin çalışma akışını kontrol etmek için break ve continue komutları kullanılabilir.
BREAK KOMUTU
Break komutu döngünün tamamen sonlandırılmasını sağlar.
for (int i = 1; i <= 10; i++)
{
if (i == 6)
{
break;
}
Console.WriteLine(i);
}
Bu örnekte sayaç 6 olduğunda break komutu çalışır ve döngü sona erer. Ekrana 1'den 5'e kadar olan sayılar yazdırılır.
CONTINUE KOMUTU
Continue komutu, döngünün o anki tekrarında kalan komutları atlayarak sonraki tekrara geçilmesini sağlar.
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
continue;
}
Console.WriteLine(i);
}
Bu örnekte 5 sayısı ekrana yazdırılmaz. Diğer sayılar normal şekilde görüntülenir.
14. FOR DÖNGÜSÜNDE SONSUZ DÖNGÜ
Bir döngünün sona ermesini sağlayan koşul hiçbir zaman yanlış olmuyorsa sonsuz döngü oluşabilir.
for (int i = 1; i > 0; i++)
{
Console.WriteLine(i);
}
Bu örnekte sayaç sürekli artırılır ve başlangıçta koşul doğru olduğu için döngü uzun süre devam edebilir. Ancak int türünün sınırlı bir sayı aralığı bulunduğundan bu kodun her çalışma ortamında gerçekten sonsuza kadar devam edeceği garanti değildir.
Dikkat: Sonsuz döngüler programın beklenmedik şekilde çalışmasına veya gereksiz kaynak tüketmesine neden olabilir. Döngünün sonlanma koşulu dikkatli belirlenmelidir.
15. FOR DÖNGÜSÜ KULLANIRKEN DİKKAT EDİLMESİ GEREKENLER
For döngüsü kullanılırken aşağıdaki noktalara dikkat edilmelidir:
- Başlangıç değeri doğru belirlenmelidir.
- Döngünün devam koşulu açık ve anlaşılır olmalıdır.
- Artırma veya azaltma işlemi koşulla uyumlu olmalıdır.
- Döngünün kaç kez çalışacağı kontrol edilmelidir.
- Gereksiz iç içe döngülerden kaçınılmalıdır.
- Döngü içerisinde kullanılan değişkenlerin kapsamına dikkat edilmelidir.
- Çok büyük sayılarla yapılan toplama ve çarpma işlemlerinde veri türünün sınırları göz önünde bulundurulmalıdır.
16. SONUÇ
C# programlama dilinde for döngüsü, tekrar eden işlemleri kısa ve düzenli kodlarla gerçekleştirmek için kullanılan temel kontrol yapılarından biridir.
Bu derste for döngüsünün çalışma mantığını, sayaç değişkenini, artırma ve azaltma işlemlerini, koşulları ve iç içe döngü kullanımını öğrendik.
Ayrıca sayıları sıralama, tek ve çift sayıları bulma, toplam hesaplama, faktöriyel ve çarpım tablosu gibi Console uygulamaları geliştirerek konuyu pekiştirdik.
Bir sonraki dersimizde C# While ve Do While Döngüleri konusunu inceleyerek koşula bağlı tekrar işlemlerinin nasıl gerçekleştirildiğini öğreneceğiz.