25 Ocak 2016 Pazartesi

Java Kontrol İfadesi - Switch Case

Java Kontrol İfadesi - Switch Case

Merhaba arkadaşlar, Java derslerine kaldığım yerden devam ediyorum. Bugün sizlere If - Else karar yapısına alternatif olacak bir metod göstereceğim. 

Bu metodumuzun adı Switch Case' dir. Switch Case, durumlara göre programın akışına yön vermemize olanak sağlar. Aynı if - else gibidir fakat bazı farklılıkları mevcuttur. İlk önce bu farklılıklara bakacak olursak; 
  • Switch Case, if else gibi bize doğrudan aralık belirtme imkanı sağlamaz. Yani; if ( a < 100 && a> 10 ) gibi bir tanımlamayı Switch Case metodu ile yapamayız.
  • Switch Case ile sadece kesin koşulları kontrol edebiliriz.  Örneğin A = 10; B = 'c' gibi.
  • If - Else yapısı kullanıldığında koşul sağlanana dek her bir koşul teker teker kontrol edilir, Switch - Case' de ise tam anlamıyla nokta atışı yapılır. Bunun sebebi bir kopyasının Ram üzerinde tutulmasından kaynaklanmaktadır.
Tüm bu farklılıkları özetleyecek olursak; if - else yapısında koşullar Boolean veya Bool olarak değerlendirilirken yani True / False olarak, Switch Case yapısında koşullar char, int, byte long gibi veri türlerinden oluşmaktadır.

Şimdi ise Switch - Case metodunun çalışma prensibine bakalım. Basitçe, Switch' e söylenen durum hangi case ile çakışıyorsa, o case altındaki işlemler yapılır. Eğer hiçbir şekilde durum sağlanmıyorsa otomatik olarak default kısmında bulunan işlemler yapılır. Default bölümü if - else yapısında ki else bölümü ile birebir aynı mantıkta çalışmaktadır.

Switch - Case Syntax

switch (condition)
{
    case 1: Process
         break;
    case 2: Process
         break;
    default: Process
         break;

}

Case içinde işlemler yapıldıktan sonra break; ile kapatılmalıdır. Eğer kapatmazsanız Eclipse size hata verecektir.

NOT*** : Belli durumlarda farklı koşullara aynı işlemleri yaptırma imkanımız vardır. Yani oluşan durumlar karşısında bir işlemi birden fazla koşulun sonucu olarak tanımlayabiliriz. Böylece syntax aşağıdaki gibi olur. Case 1 aktif olduğunda veya Case 2 aktif olduğunda otomatik olarak Case 3 çalıştırılacaktır.

switch (condition)
{
    case 1: 
    case 2: 
    case 3: Process
         break;
    default: Process
         break;

}

  • Bu kadar teorik bilgiden sonra örneğimize geçelim. İlk önce kodlarımızı yazabilmemiz için yeni bir class oluşturmamız gerekmektedir. Ayrıca oluşturduğumuz bu class' a Main metodunu eklemeyi unutmayın. Böylece Classımızı oluşturmuş bulunuyoruz.


  • Şimdi kodlarımızı yazabiliriz. İlk önce klavyeden girilen verileri kullanacağım için, geçen derste anlattığım Scanner sınıfını ekliyorum. Bu sınıftan bir nesne oluşturup, üç farklı değişken tanımlıyorum. Bu üç farklı değişkeni de Switch içerisinde kullanacağız. İlk önce int ile örnek yapacağız.



  • Bu aşamada Eclipse' in verdiği uyarıları görmezden gelebiliriz. Şimdi ise Switch - Case metodumu yazmaya başlıyorum. Ek olarak string tipinde bir değişken daha tanımladım, bize kod yazmada kolaylık sağlaması için.

  • Şimdi ise hangi Case'de hangi işlem yapılacak, onu belirteceğim. Ek olarak bu işlemlerin sonucu ekrana yazdıracağım.
  • Böylece programımızı oluşturduk. Şimdi ise bu programın çıktısına bakalım. 

  • Şu şekilde açıklayacak olursam; Biz klavyeden bir veri girdik ve programımıza dedik ki girilen veriye göre bir işlem yap. Bu noktada istediğimiz işlemleri case içerisinde yaptırabiliriz. Yani bir veritabanı kayıt işlemi de yapabiliriz, basitçe iki sayıyı da toplayabiliriz, bu işlemler size kalmış. Yaratıcılığınızı kullanabilirsiniz.
  • Yazının çok uzamaması için diğer veri türlerine ilişkin örnekleri sadece çıktı olarak göstereceğim. Bu kodlara aşağıdaki linkten ulaşabilirsiniz.



Böylece bir dersin daha sonuna gelmiş bulunuyoruz. Programlama temelinde yavaş yavaş tırmanıyoruz. Umarım açıklayıcı bir şekilde anlatabilmişimdir konuyu. Bir sonraki yazıda görüşmek üzere, hoşça kalın.




















Hiç yorum yok:

Yorum Gönder