
Merhabalar , bu dersimizde sizlere bir başka akış olan switch-case program akışlarından bahsedeceğiz . Bu akış özellikle if else merdiven sisteminde olduğu gibi kullanılabilecek bir akış sistemidir. İf-else akışında bizim gördüğümüz şartlar ard arda sıralanıp sorma işlemi yapar . Hep soru sorma işlemi şeklinde tanımlanabilir, istenilen değer oluştuğu durumda program sorunun cevabını o durumda verilip akış sonlandırılır.
Bu akış istenildiği durumlarda birden çok şartın olması halinde programın işleyişini arttıran bir akış sistemidir. Switch case durumlarında bir değişkenin istenilen değişken olması durumunda o durum sağlanır ve bir sonraki case’e geçmeden devam edilir.
Switch Case Ne Durumlarda Kullanılır?
Switch case akışları sistemin daha işlerlik ve kolaylık sağlaması açısından kullandığımız algoritmanın iç içe girmemesini sağlayan en verimli elemanlardır . Örneğin siz bir otomasyon sistemi hazırladığınızda ve binerce şart olaması durumunda if else yapısı ile uğraşmak zorunda kalmazsınız . Ya da gizli bir şifreleme yaptığınız vakitte birden fazla şifreleme işlemi bununla beraber yapabilirsiniz . Oluşturmak istediğiniz program sizin için mantık dahilinde ve kurallar dahilinde devam eder . Ard arda olması bizim kullandığımız algoritma için çok verimlidir .
Switch- case akışlarını anlamak için aşağıda verilmiş olan blok diyagramını inceleyebilirsiniz .
Blok diyagramını inceleyecek olursanız her bir sorgu elemanında eğer ki sağlarsa true , sağlamaz ise false olarak ilerleme yaptığını görürsünüz.
Aşağıdaki gibi bir kısa bir gösterim yapmak gerekirse tanım açısından ve anlamanız için hemen sonrasında detaylı bir örnek göstereceğiz .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
static void Main(string[] args) { Console.WriteLine("İsminizi giriniz : "); string isim = Console.ReadLine(); switch (isim) // değişkenimizi değerlendiriyoruz { case "Ahmet": // Ahmet mi ? Console.WriteLine("Merhaba Ahmet!"); // Ahmetse bunu yap break; // Akışı durdur prgrama devam et case "Murat": // Murat mı ? Console.WriteLine("Merhaba Murat!"); // Murat ise bunu yap break; // akışı durdur programa devam et case "Can": // Can mı ? Console.WriteLine("Merhaba Can!"); // Can ise bunu yap break; // Akışı durdur programa devam et default: // Kural konulmayan bir durum mu ? Console.WriteLine("Merhaba Yabancı"); // Kural konulmayan bir durum ise bunu yap break; // Akışı durdur programa devam et } Console.WriteLine("Çıkmak için bir tuşa basın!"); Console.Read(); } |
Yukarıdaki örnekte ilk olarak kullanıcıdan aldığımız değeri bir değişkene atıyoruz , daha sonrasında aldığımız bu değeri her isimlendirme ile karşılaştırıp ona göre sonuç üretiyoruz . Burada anlamanız gereken switch case yapılarının temel kavramıdır .
Daha detaylı bir örnek yapmamız gerekirse sizim için belirleyici olacaktır .
Bu örneğimizde basit dört işlemli bir hesap makinesi işlemi yapalım .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
static void Main(string[] args) { Console.WriteLine("1. sayıyı giriniz : "); int say1 =int.Parse( Console.ReadLine()); Console.WriteLine("2. sayıyı giriniz : "); int say2 = int.Parse(Console.ReadLine()); Console.WriteLine("Toplama içim t \n Çarpma içim ca \n çıkarma için çı \n bölme için b giriniz"); string islem = Console.ReadLine(); switch (islem) { case "t": double top = say1 + say2; Console.WriteLine(top); break; case "ca": top = say1 * say2; Console.WriteLine(top); break; case "çı": top = say1 - say2; Console.WriteLine(top); break; case "b": top = say1 / say2; Console.WriteLine(top); break; default: break; } Console.WriteLine("Çıkmak için bir tuşa basın!"); Console.Read(); } |
Yukarıdaki örnekte klavyeden girilen değişken değere göre programın akışını istediğimiz işleme göre yürütmesini sağladık . İsteseniz böylelikle çok detaylı bir hesap makinesi programını bu yolla yapabilirsiniz .
Bugün switch-case yapılarını anlattık , ilerleyen zamanlarda daha detaylı incelemeler yapabiliriz . Aklınıza takılan herhangi bir problem veya değerlendirme olması halinde sitenin yorum satırına yazabilir ve benimle iletişim kurabilirsiniz .
Bir sonraki dersimizde program döngülerinden bahsedeceğiz , korkmayın çok vaktinizi almıyorum zaten 🙂 gerektirği kadarını …
Sağlıcakla kalın , görüşmek üzere .