9 Ağustos 2016 Salı

C# Karar Yapıları - If - Else - Switch - Case

C# Karar Yapıları - If - Else

Merhaba arkadaşlar, bugünkü dersimiz biraz tekrar niteliğinde olacak çünkü bu konuları daha önce programlamaya giriş konusunda ele almıştım. Şimdi ama o ders Java ile ilgiliydi dediğinizi duyar gibiyim. Böyle düşünmeniz gayet doğal fakat kaçırdığınız bir nokta var. 

O nokta da; temel kavramların neredeyse tüm programlama dillerinde aynı olduğudur. Yani Javada da değişkenler var, döngüler var, C# ve C++ içerisinde de var. Tabi ki de bazı yazım farklılıkları yani Syntax değişiklikleri olacaktır ama buradaki asıl amaç syntax veya dil öğrenmek değil. Asıl amacımız; temel kavramlara hakim olmak. İleride hoşumuza giden dili kullanırken, temel kavramlar içerisinde bocalamak bize çok zaman kaybettirecektir. 

En kolay öğrenilen şey, syntaxtır bana kalırsa. Fakat nerede ne yapacağınızı bilmek ve uygun aracı kullanmak tecrübe isteyen bir durumdur. Burada tecrübeden kastım aslında algoritma kurabilme yeteneğidir. Burada algoritma konusuna değinmek isterdim fakat eğer bunu yaparsam bu yazı bir ömür boyunca bitmeyecektir. O yüzden ben lafı daha fazla uzatmadan hemen konuma dönüyorum.
  1. if - else
Üzerine konuşacağımız ilk karar yapısı tabi ki de en sık kullanılan yöntem olan if - else yapısı olacaktır. Kendi arasında şakalaşan bir çok yazılımcıyı dinlediğinizde genelde "programlama bir if bir for dur" dediklerini duyabilirsiniz. Tabi ki de böyle bir şey yok fakat "if" yapısı yazılım geliştirmede hayati önem taşıyan konulardan biridir.

Bunun nedenleri;
  • if -else yapısı karar vermeyi sağlar
  • if -else yapısı sayesinde yazılan uygulamaya yön verilir. Durumlara göre gidişat düzenlenebilir.
  • if -else yapısı kolaylık sağlar.
  • if - else yapısı true / false durumuna göre çalışmaktadır. True olan şart aranır eğer true şart yoksa else kısmına düşer ki bunları örnekte daha iyi anlayacaksınız. 
Bu nedenler daha da çoğaltılabilir. Şimdilik benim aklıma gelenler bunlar. 

If - Else şartlarla göre çalışmaktadır. Yani program if - else kısmına gelirse elde ettiği verilere göre bir yol çizecektir. En basitinden, şartlar sağlanıyorsa bir işlem yapılır, şart sağlanmadığı takdirde başka bir işlem yapılır veya alternatifler değerlendirilir. Böylece yukarıda da söz ettiğim gibi uygulamamıza yön verebiliriz.

Daha fazla lafı uzatmadan örneğimize geçiş yapalım. Her zamanki gibi yeni bir proje açıyorum ve adını belirliyorum.

İlk örneğimiz; Verdiğimiz değişkene göre ekrana yazdırılacak olan string ifadeler olacaktır. Değişkenimiz bool olsun, böylece mantıksal kısmını tecrübe edebiliriz.

        static void Main(string[] args)
        {
 
            bool Kontrol = true;
 
            if (Kontrol)
            {
                Console.WriteLine("Kontrol İfadesi 'true'");
                Console.Read();
            }
            else
            {
                Console.WriteLine("Kontrol İfadesi 'false'");
                Console.Read();
            }
 
 
 
        }


Yukarıdaki kod parçacığının çıktısı sizin de gördüğünüz gibi;

"Kontrol İfadesi 'true'"

olacaktır.

Eğer kodumuz aşağıdaki gibi olsaydı;

        static void Main(string[] args)
        {
 
            bool Kontrol = false;
 
            if (Kontrol)
            {
                Console.WriteLine("Kontrol İfadesi 'true'");
                Console.Read();
            }
            else
            {
                Console.WriteLine("Kontrol İfadesi 'false'");
                Console.Read();
            }
 
 
 
        }

Yukarıdaki kod parçacığının çıktısı sizin de gördüğünüz gibi;

"Kontrol İfadesi 'false'"

olacaktır.

  • Burada dikkat etmemiz gereken nokta; Şart hiçbir şekilde sağlanmıyorsa "else" kısmındaki kodlar çalıştırılacaktır.
  • Şartın alternatifleri olabilir, bu yapı için "else if" söz öbeğini kullanmamız gerekmektedir.
Örnek yapacak olursak;


        static void Main(string[] args)
        {
            int Kontrol;
 
            Console.WriteLine("Klavyeden Bir Sayı Giriniz");
            Kontrol = Convert.ToInt32(Console.ReadLine());
 
            if (Kontrol>0)
            {
                Console.WriteLine("Girdiğiniz Değer Pozitiftir.");
                Console.Read();
            }
            else if(Kontrol <0)
            {
                Console.WriteLine("Girdiğiniz Değer Negatiftir.");
                Console.Read();
            }
            else
            {
                Console.WriteLine("Sayısal Bir Değer Girmediniz.");
                Console.Read();
            }
 
 
 
        }



Yukarıdaki kod parçacığının çıktısı ise girdiğimiz değerlere göre değişecektir.
Eğer  pozitif bir sayı girersek; "Girdiğiniz değer pozitiftir",
Eğer  negatif bir sayı girersek; "Girdiğiniz değer negatiftir",
Eğer  harf veya işaret girersek; "Sayısal bir değer girmediniz"
çıktılarını elde ederiz.

Hiç yorum yok:

Yorum Gönder