Dal ve döngü deyimleriyle koşullu mantık öğrenme
Bu öğreticide, değişkenleri inceleyen ve bu değişkenlere göre yürütme yolunu değiştiren kod yazma öğretilir. Etkileşimli olarak C# kodu yazmak için tarayıcınızı kullanırsınız ve kodunuzu derleyip çalıştırmanın sonuçlarını görürsünüz. Bu öğretici, C# dilinde dallanma ve döngü oluşturma yapılarını inceleyen bir dizi ders içerir. Bu dersler size C# dilinin temel özelliklerini öğretir.
İpucu
Odak moduna bir kod parçacığı yapıştırmak için klavye kısayolunuzu (Ctrl + v veya cmd + v) kullanmanız gerekir.
If deneyimini kullanarak karar verme
Etkileşimli pencerede aşağıdaki kodu çalıştırın. Odak moduna gir düğmesini seçin. Ardından, etkileşimli pencereye aşağıdaki kod bloğunu yazın ve Çalıştır'ı seçin:
int a = 5;
int b = 6;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10.");
Bunu ortamınızda çalıştırıyorsanız, bunun yerine yerel sürümle ilgili yönergeleri izlemeniz gerekir.
b
tanımlamasını toplamın 10’dan küçük olacağı şekilde değiştirin:
int b = 3;
Çalıştır düğmesini yeniden seçin. Yanıt 10’dan küçük olduğundan herhangi bir şey yazdırılmaz. Test ettiğiniz koşul false değerindedir. Bir if
deyimi için olası dallardan yalnızca birini (true dalı) yazdığınızdan, yürütülecek herhangi bir kodunuz yoktur.
İpucu
C# dilini (veya herhangi bir programlama dilini) keşfederken, kod yazdığınızda hatalar yapacaksınız. Derleyici bu hataları bulup size bildirir. Çıkış, hata iletileri içerdiğinde neyin düzeltilmesi gerektiğini görmek için örnek koda ve etkileşimli penceredeki koda yakından bakın. Bu alıştırma, C# kodunun yapısını öğrenmenize yardımcı olur.
İlk örnek if
kuvvetini ve boole türlerini gösterir. Boole, iki değerden birine sahip olabilen bir değişkendir: true
veya false
. C#, boole değişkenleri için özel bool
türünü tanımlar. if
deyimi bir bool
için değeri kontrol eder. Değer true
olduğunda, if
deyiminden sonra gelen deyim yürütülür. Aksi takdirde atlanır.
Koşulları denetleme ve bu koşullara göre deyimleri yürütme işlemi güçlüdür. Şimdi daha fazlasını keşfedelim.
if ve else koşullarını birlikte çalıştırma
Hem true hem de false dallarında farklı kod yürütmek için, koşul false olduğunda yürütülen bir else
dalı oluşturursunuz. Şunu deneyin:
int a = 5;
int b = 3;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10");
else
Console.WriteLine("The answer is not greater than 10");
else
anahtar sözcüğünden sonraki deyim, yalnızca test edilen koşul false
olduğunda yürütülür. if
ve else
koşullarını boole koşullarıyla birleştirmek, ihtiyacınız olan tüm etkiyi sunar.
Önemli
if
ve else
deyimlerinin altındaki girinti, insan okuyuculara yöneliktir.
C# dili girintiyi veya boşluğu önemli olarak ele almaz.
if
veya else
anahtar sözcüğünden sonra gelen deyim, koşula bağlı olarak yürütülür. Bu öğreticideki tüm örnekler, deyimlerin denetim akışına göre satırları girintili yapmak için yaygın bir uygulamayı izler.
Girintileme önemli olmadığından, birden fazla deyimin koşullu olarak yürütülen bloğun parçası olmasını istediğiniz zamanları belirtmek için ve }
kullanmanız {
gerekir. C# programcıları bu ayraçları genellikle tüm if
and else
tümcelerinde kullanır. Aşağıdaki örnek, oluşturduğunuzla aynıdır. Deneyin.
int a = 5;
int b = 3;
if (a + b > 10)
{
Console.WriteLine("The answer is greater than 10");
}
else
{
Console.WriteLine("The answer is not greater than 10");
}
İpucu
Bu öğreticinin geri kalanında kod örneklerinin tümü, kabul edilen yöntemleri izleyerek ayraçları içerir.
Daha karmaşık koşulları test edebilirsiniz:
int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
Console.WriteLine("The answer is greater than 10");
Console.WriteLine("And the first number is equal to the second");
}
else
{
Console.WriteLine("The answer is not greater than 10");
Console.WriteLine("Or the first number is not equal to the second");
}
Sembol ==
eşitliği sınar. kullanmak ==
, eşitlik testini içinde a = 5
gördüğünüz atamadan ayırt eder.
&&
"ve" sözcüğünü ifade eder. Bu, deyimi true dalında yürütmek için her iki koşulun da true olması gerektiği anlamına gelir. Bu örnekler aynı zamanda, {
ve }
ayraçları içine alınmaları koşuluyla her koşullu dalda birden çok deyime sahip olabileceğinizi de gösterir.
"veya" öğesini temsil etmek için de kullanabilirsiniz ||
:
int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) || (a == b))
{
Console.WriteLine("The answer is greater than 10");
Console.WriteLine("Or the first number is equal to the second");
}
else
{
Console.WriteLine("The answer is not greater than 10");
Console.WriteLine("And the first number is not equal to the second");
}
, b
ve değerlerini a
değiştirin ve c
ile arasında &&
||
geçiş yapın. ve ||
işleçlerinin nasıl &&
çalıştığı hakkında daha fazla bilgi edineceksiniz.
İşlemleri yinelemek için döngüleri kullanma
Daha büyük programlar oluşturmanın diğer bir önemli kavramı da döngülerdir. Birçok kez yürütülmesini istediğiniz deyimleri yinelemek için döngüleri kullanırsınız. Bu kodu etkileşimli pencerede deneyin:
int counter = 0;
while (counter < 10)
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
}
while
deyimi bir koşulu kontrol eder ve deyimi while
deyiminden sonra yürütür. Koşul false olana kadar koşulu kontrol etmeyi ve bu deyimleri yürütmeyi yineler.
Bu örnekte diğer bir yeni işleç mevcuttur. counter
değişkeninden sonra gelen ++
, artırma işlecidir. Sayacın değerine 1 ekler ve bu değeri sayaç değişkeninde depolar.
Önemli
Siz kodu yürütürken while
döngüsü koşulunun false olarak değiştiğinden emin olun. Aksi halde, programınızın hiç sona ermediği sonsuz bir döngü oluşturmuş olursunuz. Kodunuzu çalıştıran altyapı, zaman aşımına uğrayacağından ve programınıza ait bir çıkış görmeyeceğinizden bunu göstermemiz gerekmez.
while
döngüsü, while
koşulundan sonraki kodu yürütmeden önce koşulu test eder. do
... while
döngüsü önce kodu yürütür, sonra koşulu kontrol eder. Şunun gibi görünür:
int counter = 0;
do
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
} while (counter < 10);
Bu do
döngüsü ve daha önceki while
döngüsü aynı şekilde çalışır.
Şimdi son döngü deyimine geçelim.
For döngüsü ile çalışma
C# kodunda göreceğiniz, sık kullanılan diğer bir döngü deyimi de for
döngüsüdür. Bu kodu etkileşimli pencerede deneyin:
for (int counter = 0; counter < 10; counter++)
{
Console.WriteLine($"Hello World! The counter is {counter}");
}
Bu, while
döngüsü ve zaten kullandığınız do
döngüsü ile aynı işlevi görür. for
deyiminde, bunu nasıl çalıştığını denetleyen üç bölüm bulunur.
İlk bölüm for başlatıcısıdır: int counter = 0;
, counter
değişkeninin döngü değişkeni olduğunu tanımlar ve bunun başlangıçtaki değerini 0
olarak ayarlar.
Ortadaki bölüm for koşuludur: counter < 10
bu for
döngüsünün, sayacın değeri 10’dan küçük olduğu sürece yürütülmeye devam edeceğini bildirir.
Son bölüm ise for yineleyicisidir: counter++
, for
deyiminden sonraki blok yürütüldükten sonra döngü değişkeninin nasıl değiştirileceğini belirtir. Bu bölüm, bloğun her yürütme işleminde counter
değişkeninin 1 artırılması gerektiğini belirtir.
Bunları kendiniz deneyin. Aşağıdakilerden her birini deneyin:
- Farklı bir değerde başlamak için başlatıcıyı değiştirin.
- Farklı bir değerde durmak için koşulu değiştirin.
İşiniz bittiğinde öğrendiklerinizi kullanmak için kendi kendinize kod yazma adımına geçelim.
Bu öğreticide ele almayan bir döngü deyimi daha vardır: foreach
deyimi. deyimi, foreach
bir öğe dizisindeki her öğe için deyimini yineler. En sık koleksiyonlarla kullanıldığından, sonraki öğreticide ele alınmıştır.
İç içe döngüler oluşturuldu
Bir while
, do
veya for
döngüsü, iç döngüdeki her öğeyle dış döngüdeki her öğenin birleşimi kullanılarak matris oluşturmak için başka bir döngünün içine iç içe yerleştirilebilir. Şimdi bunu, satırları ve sütunları temsil eden bir dizi alfasayısal çift oluşturmak için yapalım.
Bir for
döngü satırları oluşturabilir:
for (int row = 1; row < 11; row++)
{
Console.WriteLine($"The row is {row}");
}
Başka bir döngü sütunları oluşturabilir:
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The column is {column}");
}
Çiftleri oluşturmak için bir döngünün diğerinin içine iç içe yerleştirebilirsiniz:
for (int row = 1; row < 11; row++)
{
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The cell is ({row}, {column})");
}
}
İç döngünün her tam çalıştırması için dış döngünün bir kez arttığını görebilirsiniz. Satır ve sütun iç içe yerleştirmeyi ters çevirin ve değişiklikleri kendiniz görün.
Dalları ve döngüleri birleştirme
C# dilinde if
deyimini ve döngü yapılarını gördüğünüze göre şimdi 1 ile 20 arasında olup 3’e bölünebilen tüm tamsayıların toplamını bulmak için C# kodu yazmayı deneyin. Aşağıdaki ipuçlarından yararlanabilirsiniz:
%
işleci size bölme işlemindeki kalanı verir.if
deyimi bir sayının toplama dahil edilip edilmemesi gerektiğini görmeniz için size koşulu verir.for
döngüsü 1 ile 20 arasındaki tüm sayılar için bir dizi adımı yinelemenize yardımcı olur.
Kendiniz deneyin. Daha sonra başarılı olup olmadığınıza bakın. İpucu olarak, yanıtta 63’ü bulmanız gerekir.
Görevi tamamlama
Şunun gibi bir şeyle karşılaştınız mı?
int sum = 0;
for (int number = 1; number < 21; number++)
{
if (number % 3 == 0)
{
sum = sum + number;
}
}
Console.WriteLine($"The sum is {sum}");
Tebrikler!
"Dallar ve döngüler" etkileşimli öğreticisini tamamladınız. Sonraki etkileşimli öğreticiyi başlatmak için aşağıdaki liste koleksiyonu bağlantısını seçebilir veya .NET SDK'sını indirmek, makinenizde bir proje oluşturmak ve kodlamaya devam etmek için .NET sitesini ziyaret edebilirsiniz. "Sonraki adımlar" bölümü sizi bu öğreticilere geri getirir.
Bu kavramlar hakkında daha fazla bilgiyi şu makalelerde bulabilirsiniz:
Bu bölümle ilgili bir sorununuz mu var? Öyleyse bu bölümü iyileştirebilmemiz için lütfen geri bildirimde bulunun.