

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:
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
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
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.
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.
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
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.
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.



Bir yanıt bırakın