Koşul İfadeleri ve Döngüler
Koşul İfadeleri ve Akış Kontrolü
if…else Bloğu
if…else yapısı uygulamalarımızda sık sık kullandığımız
ve kullanmak zorunda olduğumuz bir yapıdır. Programlamayı if…else blokları
olmadan düşünmek imkansızdır. Koşul ifadeleri uygulamalarımızda bir karar verme
mekanizması gibi davranır.
if(bool bir ifade)
Doğru ise
else
Yanlış ise
|
Örnek;
if (ad == "Ahmet")
Console.WriteLine("Merhaba
Ahmet.");
|
Örnek;
if (ad == " Ahmet ")
Console.WriteLine("Merhaba
Ahmet.");
else
Console.WriteLine("Sende
Kimsin...");
|
! Eğer if ve else blokları içinde birden fazla satır kod yazmak istiyorsanız { }ifadelerini kullanmanız gerekir.
if (ad == " Ahmet ")
{
gelenKisi = ad;
Console.WriteLine("Merhaba
Ahmet. Ne zamandır gözükmüyodun...");
}
else
{
gelenKisi = "İzinsiz";
}
|
! if ifadesini isterseniz else bloklarında da kullanabilirsiniz. Böylece
karşılaştırma kriterinizi genişletmiş olursunuz.
if (ad == " Ahmet ")
{
gelenKisi = ad;
Console.WriteLine("Merhaba
Ahmet. Ne zamandır gözükmüyodun...");
}
else if (ad == "Metin")
{
gelenKisi = ad;
Console.WriteLine("Vaaaay
Sen Ha...");
}
else
{
gelenKisi = "İzinsiz";
Console.WriteLine("Sende
Kimsin...");
}
|
! if… else bloklarını iç içe de kullanabilirsiniz.
if (yas >
25)
{
if (yas == 26)
{
Console.WriteLine("Sınırda
Geziyosun...");
}
else
{
Console.WriteLine("Yaş
Kemale Ermiş Gibi...");
}
}
else
{
Console.WriteLine("Daha
Gençsin Ya...");
}
|
switch…case İfadesi
Karşılaştırma yapacağınız ifadenin alabileceği
değerler fazla ise çok fazla if else if ifadesi yazmak yerine karşılaştırmamızı
swtich…case yapısını kullanarak oluşturmamız hem kodumuzun okunurluğu arttırır
hem de daha hızlı kod yazmamızı sağlar.
switch (değişken)
{
case sabit değer : kod bloğu;
break;
case sabit değer : kod bloğu;
break;
default:
kod bloğu;
}
|
Örnek;
Console.WriteLine("Lütfen Yaşınızı Giriniz");
int yas;
yas = Convert.ToInt32(Console.ReadLine());
switch (yas)
{
case 20: Console.WriteLine("Genç Adam Merhaba");
break;
case 25: Console.WriteLine("Merhaba Deli Kanlı");
break;
case 35: Console.WriteLine("Merhaba Dayı");
break;
default:
Console.WriteLine("Merhaba");
break;
}
|
Döngülerin
Kullanımı
Bir kod bloğunun belirli şartlara bağlı veya bağımsız
olarak ardışık olarak çalıştırılması için döngüler kullanılır.
for Döngüsü
En temel döngü yapısı for döngüsüdür. C# da for
döngüsü kullanımı C/C++ ve Javada ki gibidir. Basit bir for döngüsünün yapısı
aşağıdaki gibidir.
for
(başlangıç; koşul; artım / azalım)
{
//kod bloğu
}
|
Örnek; Sıfırdan dokuza
kadar olan sayıları konsol ekranına yazan basit bir for döngüsü yapalım.
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Döngüde
i değeri şuan : {0}",i);
}
|
Yukarıdaki for döngüsü sonucu ekran çıktısı aşağıdaki gibi olur.
Döngüde i
değeri şuan : 0
Döngüde i
değeri şuan : 1
Döngüde i
değeri şuan : 2
Döngüde i
değeri şuan : 3
Döngüde i
değeri şuan : 4
Döngüde i
değeri şuan : 5
Döngüde i
değeri şuan : 6
Döngüde i
değeri şuan : 7
Döngüde i
değeri şuan : 8
Döngüde i
değeri şuan : 9
Devam etmek
için bir tuşa basın . . .
|
for (; ; )
for (; i < 10; i++)
for (int
i = 3; ; i--)
for (; i < 5; )
|
! Döngümüzü belli
bir koşul altında sonlandırmak istiyorsak break komutunu kullanırız.
Örnek;
for (int i = 0; i < 10; i++)
{
if (i > 5)
{
break;
}
Console.WriteLine("Döngüde
i değeri şuan : {0}", i);
}
|
Yukarıdaki kodda i değeri 5 den büyük olduğunda break komutu çalışarak döngünün sonlanmasına sebep olur. Ekran çıktısı aşağıdaki gibi olur.
Döngüde i
değeri şuan : 0
Döngüde i
değeri şuan : 1
Döngüde i
değeri şuan : 2
Döngüde i
değeri şuan : 3
Döngüde i
değeri şuan : 4
Döngüde i
değeri şuan : 5
Devam etmek
için bir tuşa basın . . .
|
! Belli bir koşul altında döngü içine yazdığımız kodların çalışmayarak bir sonraki döngü adımına geçmek istiyorsak continue komutunu kullanırız.
Örnek;
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
Console.WriteLine("Döngüde
i değeri şuan : {0}", i);
}
|
i değeri 5 olduğu zaman continue komutu çalışarak döngüyü bir sonraki adıma taşır, bunun sonucu aşağıdaki ekran çıktısı oluşur.
Döngüde i
değeri şuan : 0
Döngüde i
değeri şuan : 1
Döngüde i
değeri şuan : 2
Döngüde i
değeri şuan : 3
Döngüde i
değeri şuan : 4
Döngüde i
değeri şuan : 6
Döngüde i
değeri şuan : 7
Döngüde i
değeri şuan : 8
Döngüde i
değeri şuan : 9
Devam etmek
için bir tuşa basın . . .
|
do… while Döngüsü
do…while döngüsünün temel yapısı aşağıdaki gibidir.
do
{
// çalışacak kod
}
while(koşul);
|
! Döngü içine yazılan kod ilk olarak çalışır daha sonra while kısmındaki koşul kontrol edilir, burada bulunan koşul true değer döndürdüğü sürece döngü tekrar tekrar çalışır.
Örnek;
int i = 0;
do
{
Console.WriteLine("do
while döngüsü içinde i değeri şuan: {0}", i);
i++;
}
while
(i<10);
|
Ekran görüntüsü;
do while
döngüsü içinde i değeri şuan: 0
do while
döngüsü içinde i değeri şuan: 1
do while
döngüsü içinde i değeri şuan: 2
do while
döngüsü içinde i değeri şuan: 3
do while
döngüsü içinde i değeri şuan: 4
do while
döngüsü içinde i değeri şuan: 5
do while
döngüsü içinde i değeri şuan: 6
do while
döngüsü içinde i değeri şuan: 7
do while
döngüsü içinde i değeri şuan: 8
do while
döngüsü içinde i değeri şuan: 9
Devam etmek
için bir tuşa basın . . .
|
ü do…while döngüsü
içine yazılan kod bloğu her zaman ilk seferde çalışır.
ü while ifadesinden
sonra noktalı virgül kullanılır.
while Döngüsü
Hemen hemen do…while döngüsü ile aynı özellikleri
taşır. Sadece ilk çalışma mantıkları farklıdır.
! do…while
döngüsü ilk olarak kod bloğuna girer daha sonra koşul kontrol edilir, böylece
koşul doğru olsada olmasada kod bloğu bir kez çalışır.
! while döngüsü
ise kod bloğuna girmeden önce koşul durumunu kontrol eder, eğer koşul doğru
değilse kod bloğu asla çalışmaz. Bu küçük ama çok önemli bir farktır.
while döngüsünün temel yapısı aşağıda ki gibidir.
while (koşul)
{
//kod bloğu
}
|
! Koşul ifadesi
doğru ise while içinde yazılan kod bloğu çalışır. koşul yanlış olduğu anda
döngü sona erer.
Örnek;
int sayac =
0;
while
(sayac<10)
{
Console.WriteLine("Sayac
Değeri: {0}",sayac);
sayac++;
}
|
Yorum Gönder Blogger Facebook