İçeriğe geç
parazade

Switch Case Nedir?

Yayın: · Son güncelleme:

Switch Case Nedir? Kısaca

Switch case, bir değişkenin değerini birden fazla seçenekle karşılaştırıp eşleşen seçeneğin kodunu çalıştıran koşul yapısıdır. Çok sayıda if-else yerine daha düzenli bir yazım sağlar.

Switch Case nedir?
İçindekiler
  1. Switch case nedir?
  2. Nasıl yazılır?
  3. Ne zaman tercih edilir?

Switch case nedir?

Switch case, tek bir değerin hangi seçeneğe eşit olduğuna bakarak ilgili kodu çalıştıran yapıdır. Örneğin bir sipariş durumunu düşünün: "hazırlanıyor", "kargoda", "teslim edildi" ve "iptal". Her durum için ayrı mesaj göstermek istediğinizde, art arda dört if-else yazmak yerine switch ile her seçeneği bir case olarak sıralarsınız.

Yapıda eşleşme bulunamazsa çalışacak bir default bölümü de bulunur. Bu bölüm, beklenmeyen bir değer geldiğinde programın sessizce bir şey yapmamasını önler.

Nasıl yazılır?

JavaScript, Java ve C gibi dillerde yazım birbirine benzer: switch (durum) satırının altında her seçenek case "kargoda": ile başlar ve sonuna break; eklenir. break unutulursa program bir sonraki seçeneğin kodunu da çalıştırır. Bu davranışa "düşme" (fall-through) denir ve bazen bilerek kullanılsa da çoğu zaman hata kaynağıdır.

Python'da uzun süre switch yoktu. 3.10 sürümüyle gelen match-case yapısı benzer bir işlev görür ve ayrıca daha gelişmiş desen eşleştirme imkânı sunar.

Ne zaman tercih edilir?

Switch, tek bir değişkeni sabit değerlerle karşılaştırdığınızda okunabilirliği artırır. Haftanın günü, menü seçimi ya da HTTP durum kodu gibi sınırlı seçenekli durumlar tipik örneklerdir. "Tutar 100 ile 500 arasındaysa" gibi aralık kontrolleri içinse if-else daha uygundur.

Bir switch yazdığınızda her case sonunda break olup olmadığını ve bir default tanımlayıp tanımlamadığınızı kontrol edin; bu iki kontrol, en sık görülen iki hatayı baştan önler.

Sıkça Sorulan Sorular

Switch case'de break neden gerekli?

Break, eşleşen seçeneğin kodu bittikten sonra switch yapısından çıkılmasını sağlar. Yazılmazsa program alttaki seçeneklerin kodunu da çalıştırır ve beklenmedik sonuçlar doğar.

Python'da switch case var mı?

Klasik switch yoktur, ancak Python 3.10 ile gelen match-case yapısı aynı işi görür. Daha eski sürümlerde bu iş için if-elif zinciri ya da sözlük kullanılır.

İlgili terimler

Koşullu İfade(Conditional Statement)Koşullu ifade, programlamada bir koşulun doğru ya da yanlış olmasına göre farklı kodların çalışmasını sağlayan yapıdır. En yaygın biçimi if-else'tir: koşul doğruysa bir blok, yanlışsa başka bir blok çalışır.Karşılaştırma Operatörü(Comparison Operator)Karşılaştırma operatörü, iki değeri eşitlik ya da büyüklük açısından kıyaslayıp sonucu doğru veya yanlış olarak döndüren operatördür. Eşit mi (==), büyük mü (>), küçük ya da eşit mi (<=) gibi soruları yanıtlar.Döngü(Loop)Döngü (loop), programlamada bir kod bloğunu belirli sayıda ya da bir koşul sağlandığı sürece tekrar tekrar çalıştıran yapıdır. En yaygın türleri for ve while döngüleridir.JavaScriptJavaScript, web sayfalarına buton tıklaması, form doğrulama ve anlık güncelleme gibi etkileşimler kazandıran, tarayıcıların yanı sıra Node.js ile sunucuda da çalışabilen yaygın bir programlama dilidir.JavaJava, Sun Microsystems tarafından 1995'te yayımlanan, bugün Oracle tarafından geliştirilen, nesne yönelimli ve platformdan bağımsız bir programlama dilidir; kod Java Sanal Makinesi (JVM) üzerinde çalışır.PythonPython, okunabilir ve sade sözdizimiyle bilinen, genel amaçlı, açık kaynaklı bir programlama dilidir. Veri bilimi, yapay zekâ, otomasyon ve web geliştirmede en yaygın kullanılan dillerden biridir.Sabit(Constant)Sabit (constant), programlamada bir kez değer atandıktan sonra program boyunca değiştirilmemesi gereken isimli veridir. Pi sayısı, bir vergi oranı ya da en fazla deneme hakkı gibi değerler sabit olarak tanımlanır.