Koşullu İfadeler

Bilgisayar ve Programlamaya Giriş
Akışif-elseelse ifswitchÖrnekler
Sercan KÜLCÜ · Giresun Üniversitesi

Giriş

Öğrenme Çıktıları

Akış

Sıralı, seçmeli ve tekrarlı akışı ayırt etmek.

Koşul

Karşılaştırma ve mantık operatörleriyle koşul yazmak.

Karar

if, else if ve else yapılarını doğru sırada kurmak.

switch

Ayrık seçeneklerde switch kullanmak.

Temeller

Üç Temel Akış

  • Sıralı yapı deyimleri yazıldığı sırada yürütür.
  • Karar yapısı koşula göre farklı yol seçer.
  • Döngü yapısı bir kod bloğunu tekrarlar.
  • Bu üç yapı algoritmaların temel yürütme modelini oluşturur.

Temeller

Sıralı İşlemler

double taban = 8;
double yükseklik = 5;
double alan = taban * yükseklik / 2;
System.out.println(alan);
  • Her deyim bir öncekinin ürettiği değeri kullanabilir.
  • Sıra değiştirilirse tanımsız veya yanlış değer oluşabilir.

Kararlar

Karar Verme

  • Koşul boolean değer üretir.
  • if doğru yolu, else yanlış yolu tanımlar.
  • Birden fazla bağımsız if ile birbirini dışlayan else-if zinciri aynı davranmaz.

Kararlar

if-else Yapısı

if (not >= 60) {
    System.out.println("Geçti");
} else {
    System.out.println("Kaldı");
}
  • Sınır değeri koşulun parçasıdır.
  • Her olası değer yalnızca bir dala gider.

Kararlar

Çok Yollu Karar

if (not >= 90) {
    harf = 'A';
} else if (not >= 80) {
    harf = 'B';
} else if (not >= 70) {
    harf = 'C';
} else {
    harf = 'F';
}
  • Koşullar yukarıdan aşağı değerlendirilir.
  • Daha dar ve yüksek eşikler önce yazılır.

Kararlar

İç İçe Kararlar

  • Bir karar dalı içinde başka karar bulunabilir.
  • İç içe yapı, ikinci koşulun yalnızca ilk koşul sağlandığında anlamlı olduğu durumda uygundur.
  • Derin iç içelik okunabilirliği azaltır; koşullar birleştirilebilir veya metoda ayrılabilir.

Kararlar

Mantıksal Operatörlerle Karar

boolean uygun = yaş >= 18 && belgeVar;
if (uygun) {
    System.out.println("Başvuru alınabilir");
}
  • && iki koşulun da doğru olmasını ister.
  • || seçeneklerden en az birinin doğru olmasını ister.

switch

switch Ne Zaman?

  • Tek bir ifadenin ayrık değerlerine göre seçim yaparken okunabilir olabilir.
  • case etiketleri sabit seçenekleri temsil eder.
  • Aralık ve karmaşık mantıksal koşullarda if-else çoğunlukla daha uygundur.

switch

switch İfadesi

String mevsim = switch (ay) {
    case 12, 1, 2 -> "Kış";
    case 3, 4, 5 -> "İlkbahar";
    case 6, 7, 8 -> "Yaz";
    case 9, 10, 11 -> "Sonbahar";
    default -> "Geçersiz";
};
  • Ok biçimi yanlışlıkla sonraki case'e geçişi önler.
  • default beklenmeyen değerleri ele alır.

switch

if-else ve switch

Ölçütif-elseswitch
Aralık koşuluUygunDoğrudan uygun değil
Tek değere göre çok seçenekKullanılabilirGenellikle daha açık
Karmaşık mantıkUygunSınırlı
Her dal sonuç üretirAtama gerekirswitch ifadesi değer döndürebilir

Örnek

Tek mi Çift mi?

int sayı = 17;
if (sayı % 2 == 0)
    System.out.println("Çift");
else
    System.out.println("Tek");
  • 2 ile bölümden kalan 0 ise sayı çifttir.
  • Negatif tam sayılarda da aynı kural geçerlidir.

Örnek

Mutlak Değer

int sayı = -8;
if (sayı < 0) {
    sayı = -sayı;
}
System.out.println(sayı);
  • Sıfır ve pozitif değer değişmeden kalır.
  • Integer.MIN_VALUE özel bir taşma durumudur.

Özet

Bölüm Özeti

  • Sıralı yapı deyimleri yazıldığı sırada yürütür; karar yapısı koşula göre yol seçer.
  • Koşul her zaman boolean bir değer üretmelidir.
  • else-if zincirinde koşullar yukarıdan aşağı denenir; ilk doğru dal çalışır.
  • Aralık ve karmaşık koşullarda if-else, tek değerin ayrık seçeneklerinde switch uygundur.

Özet

Kontrol Soruları

  1. Bağımsız if yapıları ile else-if zinciri nasıl farklıdır?
  2. Not harf dönüşümünde eşikler neden büyükten küçüğe yazılır?
  3. İç içe karar yerine && ne zaman kullanılabilir?
  4. switch için default neden yararlıdır?
  5. Bir sayının çift olduğu hangi koşulla anlaşılır?

Son

Koşullu İfadeler
1 / 1Sercan KÜLCÜ, Tüm hakları saklıdır.

← → veya boşluk ile gezinin · F: tam ekran · Home/End: ilk/son slayt