🧩 Java'da Koşullu İfadeler (Conditional Statements) Nasıl Yazılır?
🎯 Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde, Java'da program akışını kontrol eden koşullu ifadeleri nasıl kullanacağınızı öğreneceksiniz.
if, else if, else ve switch yapılarının farklarını, doğru kullanım alanlarını ve yaygın hatalardan nasıl kaçınacağınızı adım adım göreceksiniz.
Ayrıca, örnekler üzerinden JShell ortamında canlı testler yaparak uygulamalı öğrenme deneyimi elde edeceksiniz.
🧠 Teknik Özet
Ana konu: Java’da koşullu ifadelerin (if, else if, else, switch) doğru kullanımı.
Amaç: Program akışını farklı koşullara göre dallandırmak.
Sorunu çözer: Belirli bir koşul sağlandığında belirli kodun çalışması, sağlanmadığında alternatif yollar izlenmesi.
İzlenen adımlar:
- Java ortamı (JDK) ve JShell kurulur.
- “Statement” ve “block” farkı öğrenilir.
- Tekli
ifkoşulları yazılır. - Boolean olmayan ifadelerde oluşan hata incelenir.
- Bloksuz
ifkullanımının etkileri görülür. - İç içe (nested)
ifyapısı uygulanır. - Genişletilmiş
if-else if-elseyapısı oluşturulur. switchyapısı tanıtılır ve örneklerle test edilir.
⚙️ 1. Gerekli Ön Koşullar
Bu rehberi uygulamak için sisteminizde şunlar bulunmalıdır:
- Java Development Kit (JDK 11 veya üzeri)
- JShell (REPL) – örnekleri doğrudan terminal üzerinden çalıştırmak için.
- Temel Java bilgisi: Veri tipleri, operatörler ve sınıf yapısı hakkında temel bilgi.
🧩 2. İfade (Statement) ve Kod Bloğu (Block)
Bir koşul sağlandığında Java, ilgili kod bloğunu yürütür.
Bu blok ya tek bir ifade (statement) ya da birden fazla satırdan oluşan bir grup olabilir.
System.out.println("rabisu sunucusu");
➡️ Bu tek satırlık bir “statement” örneğidir.
Blok ise birden fazla ifadeyi süslü parantez içinde gruplar:
{
System.out.println("rabisu sunucusu");
}
➡️ Kodun okunabilirliği için dört boşluk girinti (indentation) kullanmak önerilir.
💡 3. Basit if Koşulu Kullanımı
En yaygın koşullu yapı if ifadesidir. Koşul doğruysa, süslü parantez içindeki kod çalışır:
int x = 5;
int y = 2;
if (x > y) {
System.out.println(x + " sayısı " + y + " sayısından büyüktür.");
}
Çıktı:
x ==> 5
y ==> 2
5 sayısı 2 sayısından büyüktür.
🚨 Yaygın Hata: Boolean olmayan ifade kullanımı
int x = 1;
if (x) {
System.out.println("Bu çalışacak mı?");
}
Hata:
Error: int cannot be converted to boolean
➡️ Koşullar yalnızca true veya false döndürmelidir.
⚠️ 4. Kod Bloğu Olmadan if Kullanımı (Önerilmez)
Süslü parantez kullanmadan if yazmak mümkündür ama tehlikelidir:
int x = 5;
int y = 2;
if (x > y)
System.out.println(x + " > " + y);
Eğer bir satır daha eklerseniz, o koşuldan bağımsız çalışır:
if (x > y)
System.out.println("x büyük");
System.out.println("Bu satır her zaman çalışır.");
Çıktı:
Bu satır her zaman çalışır.
➡️ Temiz kod için her zaman kullanın.
🔁 5. İç İçe if (Nested If)
Bir if yapısının içine başka bir if yerleştirebilirsiniz:
int x = 10;
int y = 5;
if (x > y) {
if (y == 5) {
System.out.println("x, y'den büyük ve y, 5'e eşit.");
}
}
➡️ Okunabilirliği düşürür, mantıksal operatörlerle (&&, ||) sadeleştirilebilir.
🌿 6. Genişletilmiş if – else if – else
Birden fazla koşulu sırayla test etmek için kullanılır:
int x = 10;
int y = 10;
if (x > y) {
System.out.println("x, y'den büyüktür.");
} else if (x < y) {
System.out.println("y, x'ten büyüktür.");
} else if (x == y) {
System.out.println("x, y'ye eşittir.");
} else {
System.out.println("Karşılaştırılamıyor.");
}
Çıktı:
x ==> 10
y ==> 10
x, y'ye eşittir.
➡️ Sadece ilk doğru koşul çalışır.
🔄 7. switch Kullanımı
switch, tek bir değişkeni birden fazla sabit değerle karşılaştırır.
int ayKodu = 1;
switch (ayKodu) {
case 1:
System.out.println("Ocak");
break;
case 2:
System.out.println("Şubat");
break;
default:
System.out.println("Geçersiz Ay");
}
Çıktı:
ayKodu ==> 1
Ocak
Önemli:
break → Doğru eşleşmeden sonra çıkış yapar.
default → Hiçbir eşleşme olmadığında devreye girer.
💬 Sıkça Sorulan Sorular (SSS)
- if yerine neden switch kullanmalıyım?
switch, tek bir değişkeni birden çok sabit değerle karşılaştırmak için daha temiz bir yapı sağlar.
- if içine birden fazla koşul yazabilir miyim?
Evet, && (ve), || (veya), ! (değil) operatörleriyle birleştirebilirsiniz.
- Kod bloklarını kullanmazsam ne olur?
Yalnızca bir satır koşula bağlı olur, diğer satırlar her zaman çalışır.
- else if sırası önemli mi?
Evet, koşullar yukarıdan aşağıya test edilir. İlk doğru olan çalışır.
- switch içinde boolean kullanabilir miyim?
Hayır, switch boolean değişkenleri desteklemez. Bunun için if kullanın.
✅ Sonuç
Bu rehberde:
Java’da if, else if, else ve switch yapılarının farklarını öğrendiniz.
Hangi durumda hangisinin uygun olduğunu gördünüz.
Kodunuzu daha temiz, okunabilir ve hatasız hale getirmeyi öğrendiniz.