6. Koşullu İfadeler (if-else, switch-case)

Java logo
Java logo
image text

6. Koşullu İfadeler (if-else, switch-case)

Java’da, programların akışını kontrol etmek ve belirli koşullara göre farklı kod bloklarını çalıştırmak için koşullu ifadeler kullanılır. Bu ifadeler, programların karar verme yeteneğini geliştirerek daha karmaşık ve dinamik uygulamalar oluşturulmasına olanak tanır. Bu makalede, Java’daki temel koşullu ifadeleri (if-else ve switch-case) ayrıntılı olarak inceleyeceğiz.

if-else İfadeleri

if-else ifadeleri, belirli bir koşulun doğru (true) veya yanlış (false) olmasına göre farklı kod bloklarını çalıştırmak için kullanılır. Temel sözdizimi aşağıdaki gibidir:

Java

if (koşul) {
    // Koşul doğruysa çalışacak kod
} else {
    // Koşul yanlışsa çalışacak kod
}

Burada, koşul bir boolean ifade olmalıdır. Eğer koşul doğruysa, if bloğundaki kod çalıştırılır; aksi takdirde, else bloğundaki kod çalıştırılır. else bloğu isteğe bağlıdır.

Basit if Örneği

Java

int x = 10;
if (x > 5) {
    System.out.println("x 5'ten büyüktür");
}

Bu örnekte, x değişkeninin değeri 5’ten büyük olduğu için, ekrana “x 5’ten büyüktür” yazdırılır.

if-else Örneği

Java

int x = 3;
if (x > 5) {
    System.out.println("x 5'ten büyüktür");
} else {
    System.out.println("x 5'ten küçük veya eşittir");
}

Bu örnekte, x değişkeninin değeri 5’ten küçük olduğu için, ekrana “x 5’ten küçük veya eşittir” yazdırılır.

if-else if-else Zinciri

Birden fazla koşulu kontrol etmek için if-else if-else zinciri kullanılabilir. Bu yapı, koşullar sırayla kontrol edilir ve ilk doğru olan koşulun bloğu çalıştırılır. Hiçbir koşul doğru değilse, else bloğu (varsa) çalıştırılır.

Java

int x = 75;

if (x >= 90) {
    System.out.println("Not: A");
} else if (x >= 80) {
    System.out.println("Not: B");
} else if (x >= 70) {
    System.out.println("Not: C");
} else if (x >= 60) {
    System.out.println("Not: D");
} else {
    System.out.println("Not: F");
}

Bu örnekte, x değişkeninin değeri 75 olduğu için, ekrana “Not: C” yazdırılır.

switch-case İfadeleri

switch-case ifadeleri, bir değişkenin değerine göre farklı kod bloklarını çalıştırmak için kullanılır. Özellikle, bir değişkenin birden çok olası değerine göre farklı işlemler yapmak gerektiğinde kullanışlıdır.

Java

switch (değişken) {
    case değer1:
        // değişken değeri değer1'e eşitse çalışacak kod
        break;
    case değer2:
        // değişken değeri değer2'ye eşitse çalışacak kod
        break;
    ...
    default:
        // değişken hiçbir değere eşit değilse çalışacak kod
}

Burada, değişken bir byte, short, int, char, enum veya String türünde olabilir. Her case etiketi, değişken‘in olası bir değerini temsil eder. Eğer değişken‘in değeri bir case etiketindeki değerle eşleşirse, o case bloğundaki kod çalıştırılır. break ifadesi, o case bloğunun sonunu işaret eder ve switch ifadesinden çıkılmasını sağlar. Eğer break ifadesi kullanılmazsa, bir sonraki case bloğu da çalıştırılır (fall-through). default etiketi, değişken‘in hiçbir case etiketindeki değerle eşleşmediği durumlarda çalışacak kodu belirtir. default etiketi isteğe bağlıdır.

switch-case Örneği

Java

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Pazartesi";
        break;
    case 2:
        dayName = "Salı";
        break;
    case 3:
        dayName = "Çarşamba";
        break;
    case 4:
        dayName = "Perşembe";
        break;
    case 5:
        dayName = "Cuma";
        break;
    case 6:
        dayName = "Cumartesi";
        break;
    case 7:
        dayName = "Pazar";
        break;
    default:
        dayName = "Geçersiz gün";
}

System.out.println("Gün: " + dayName);

Bu örnekte, day değişkeninin değeri 3 olduğu için, ekrana “Gün: Çarşamba” yazdırılır.

Fall-Through Durumu

switch-case ifadelerinde break ifadesinin kullanılmaması durumunda, bir sonraki case bloğu da çalıştırılır. Bu duruma fall-through denir. Bazen bu özellik, birden fazla değer için aynı kodu çalıştırmak istediğimizde faydalı olabilir.

Java

int month = 2;
int daysInMonth;

switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        daysInMonth = 31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        daysInMonth = 30;
        break;
    case 2:
        daysInMonth = 28; // Artık yıl kontrolü yapılmadı
        break;
    default:
        daysInMonth = 0;
}

System.out.println("Ayın gün sayısı: " + daysInMonth);

Bu örnekte, birden fazla ay için aynı sayıda gün sayısı olduğundan, break ifadeleri atlanarak fall-through özelliği kullanılmıştır.

Koşullu İfadelerde Dikkat Edilmesi Gerekenler

  • if ifadesinin koşulu her zaman bir boolean ifade olmalıdır.
  • switch-case ifadesinde, break ifadesinin unutulması fall-through durumuna yol açabilir.
  • switch-case ifadesinde, default etiketi isteğe bağlıdır, ancak kullanılmadığında beklenmedik sonuçlar ortaya çıkabilir.
  • Karmaşık koşullu ifadeler yerine, kodu daha okunabilir hale getirmek için fonksiyonlar kullanılabilir.

Sonuç

Java’daki koşullu ifadeler (if-else ve switch-case), programların karar verme yeteneğini geliştirerek daha karmaşık ve dinamik uygulamalar oluşturulmasına olanak tanır. Bu ifadelerin doğru kullanımı, programların daha esnek ve kullanıcı dostu olmasını sağlar. Bu makalede, koşullu ifadelerin temel kavramları, sözdizimi ve örnek kullanımları ayrıntılı olarak açıklanmıştır. Pratik yaparak ve farklı senaryoları deneyerek, bu ifadeleri daha iyi anlayabilir ve programlama becerilerinizi geliştirebilirsiniz.

Java if-else statement example
Java switch-case syntax diagram
Code snippet showcasing conditional logic in Java



İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*