Etiket Arşivi: While

C# Döngüler (Karar Yapilari)

Karar Yapıları; Belirlenen koşulun sonucuna göre istediğimiz işlemi tercih etmesini sağlayan yapılardır.

Karar yapıları if sözcüğüyle özdeşleşmiştir.

IF – ELSE IF – ELSE

IF(koşul)   "Parantezin içine yazılan koşul sağlanırsa eğer IF bloğunun altındaki kodlar çalışır eğer sağlanmazsa ELSE bloğu devreye girer."
{
Bu kodu çalıştır
}
ELSE
{
Bu kodu çalıştır
}

Örnek:

Console.WriteLine("Yaşınızı girin");  --Ekrana Yaşımızı Girdik
var yas = Convert.ToInt32(Console.ReadLine());  --ReadLine komutu ile okuyup İnt tipine dönüştürüp yas değişkenine atadık.

if (yas < 40) -- Koşulumuz ekrana girdiğimiz yaş değerinin 40 dan küçük olması halinde ekrana "Genç" yazdır
{
Console.WriteLine("Genç");
}
else   --Değilse "Yaşlı" yazdır.
{
Console.WriteLine("Yaşlı");
}
Console.ReadKey();

Yazdığımız koşullardan  birden fazla sonuç dönüyorsa ELSE IF ifadesi kullanılabilir. Aşağıda kullanım örneği bulunmaktadır.
Aşağıdaki kullanım biçimine uymak zorunda değilsiniz yani şöyleki bir if koşulunda sadece tek if ilede işimizi görebilirsek. else ifadesini yazma zorunluluğumuz bulunmamakadır. istediğimiz kadar else if kullanabiliriz ve sonuna else ifadesini yine kullanmak zorunda değiliz. Else ve Else if ifadesi if olmadan tek başına kullanılamaz.

IF(koşul1)
{
Bu kodu çalıştır     --Yazdığımız koşul sağlanırsa bu satır çalışır.
}

ELSE IF(koşul2)
{
Bu kodu çalıştır    --Eğer Yukarıdaki koşul sağlanmazsa bu satır çalışır.
}
ELSE IF(koşul3)
{
Bu kodu çalıştır   --Yukarıdaki koşulda sağlanmaza bu satır çalışır.
}
ELSE
{
Bu kodu çalıştır   --Hiçbir koşul sağlanmazsa bu satır çalışır.
}

Switch Case

Bir koşulun belli bir değer ile karşılaştırarak ilgili işlemi seçtiren ifadedir.

Switch(Değişken Adı)    { --Tanımladığımız int string vb. tiplerindeki değişken adımızı buraya yazarız.
Case Değer1:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade bu case de yer alıyorsa bu satır çalışır.
Break;
Case Değer2:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade bu case de yer alıyorsa bu satır çalışır.
Break;
Case Değer3:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade bu case de yer alıyorsa bu satır çalışır.
Break;
Default:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade hiç bir case de yer almıyorsa bu satır çalışır.
Break;

}

Örnek:

Console.WriteLine("2 ile 4 arasında bir rakam giriniz.");
var rakam =Convert.ToInt32( Console.ReadLine());
switch(rakam)
{
case 2:
Console.WriteLine("Sayı 2");
break;
case 3:
Console.WriteLine("Sayı 3");
break;
case 4:
Console.WriteLine("Sayı 4");
break;
default:
Console.WriteLine("2 ile 4 arasında rakam girmediniz.");
break;
}
Console.ReadKey();

While

Çoğu zaman yazdığımız kodların tekrar ettiğini farkederiz, ve bu tekrar eden kodlar bir karışıklığa sebep verebilir, o yüzden tekrar etme sebebi bir döngü kurulmasıysa while ile döngümüzü kurar o tekrarlardan kurtulmuş oluruz. While kullanırken yazacağımız koşul sağlanırsa süslü parantez içindeki kod satırlarımız çalışacaktır. eğer koşul sağlanmazsa döngüye girmeden diğer kod satırlarına geçecektir.

Örnek

int sayi=0 --  int türünde sayi adında bir değişken oluşturduk ve değerini 0'a eşitledik.

while(sayi<10) --  while ile döngümüzü kurduk sayi 10 dan küçük olduğu müddetçe süslü parantezin içindeki kod satırı çalışacak.

{
Console.WriteLine(sayi);
sayi++; -- sayimizin değerini ekrana yazdırdıktan sonra 1 er 1 er arttırdık. 0'dan 9'a kadar ekrana yazdıracaktır.
}

For

Esnek bir yapıya sahip döngü çeşididir. ayrı bir döngüye ihtiyaç duymayan bir döngüdür.

Örnek


for (int sayi=0; sayi<10; sayi++)  --int tipinde değişken tanımlayıp 0 atadık. yani başlangıç değerimizi belirtmiş olduk. sayi 10 dan küçük olduğu müddetçe koşulunu yazdık yani bitiş değerini belirtmiş olduk ve son olarak artış miktarını belirttik.

{
Console.WriteLine(sayi); -- Koşul her sağlandığında ekrana 1'er 1'er artan rakamı yazacaktır. 0'dan 9'a kadar ekrana yazar.
}

do while

do while ile kod satırı çalışır, koşul en son sorulur eğer koşul sağlanırsa döngü sürdürülür while ile arasındaki tek fark budur. while döngüsünde koşul sağlanırsa döngüye girilir. do while da koşul sağlanmasada en az 1 kere o kod çalışır.

int[] sayilar{10,32,43,65};  --int tipinde bir dizi oluşturduk ve içine 4 tane sayı girdik.
int toplam=0; -- int tipinde toplam adında bir değişken tanımladık değerini 0 atadık.
int sayac=0;  -- int tipinde sayac adında bir değişken tanımladık değerini 0 atadık.

do
{
toplam+=sayilar[sayac]); -- sayilar dizimizdeki sayac değeri kaçsa o indisteki sayıyı toplam değişkeniyle toplayıp toplamda tutuyor.
sayac++; -- sayac değişkenimizi 1'er 1'er arttırıyor.
}
while(sayac<sayilar.length);  --koşulumuz burada sayacı sayıların uzunluğu kadar arttır demek istiyor.

Conditional Breakpoint

Aşağıdaki örnekte debug’da iken breakpoint noktasına sağ tıklayıp Conditions seçip sayac==1500 yazdık ve F5 ile devam ettik sayaç değişkeni 1500’e eşit olduğunda breakpointte duracaktır.

int sayi =0;
while(sayi<2000)
{
Console.WriteLine(sayi++);
}
Console.ReadKey();