🚀 BAŞTAN SONA JAVA DİLİ BÖLÜM-3: Operatörler ve Karar Yapıları (`if/else`, `switch-case`) ☕

Konu Özeti

Java programlama dilinde operatörler (aritmetik, ilişkisel, mantıksal) ve karar yapıları (if/else, ternary operatör, switch-case) detaylı olarak ele alınıyor. Aritmetik operatörlerle hesaplamalar, ilişkisel ve mantıksal operatörlerle koşullar oluşturuluyor. if/else bloklarıyla not hesaplama örneği verilirken, ternary operatör ile kısa karar ifadeleri gösteriliyor. Klasik switch-case yapısı ve Java 14 ile gelen modern switch expression kullanımı örneklerle açıklanıyor.

🚀 BAŞTAN SONA JAVA DİLİ BÖLÜM-3: Operatörler ve Karar Yapıları (`if/else`, `switch-case`) ☕

Selamlar! Serimizin 3. bölümüne hoş geldiniz.

Önceki bölümde veri tiplerini, değişkenleri ve `Scanner` sınıfı ile konsoldan veri almayı incelemiştik. Bu bölümde ise programlarımıza mantık, hesaplama yeteneği ve karar verme mekanizmaları katacak olan **Operatörleri**, **`if/else` bloklarını**, **Ternary Operatörünü** ve **`switch-case` yapısını** işleyeceğiz.

---

🔢 1. Java'da Operatörler 🧮

Operatörler, değişkenler ve değerler üzerinde işlemler gerçekleştirmek için kullanılır.

### A. Aritmetik Operatörler:
- `+` Toplama / Metin Birleştirme
- `-` Çıkarma
- `*` Çarpma
- `/` Bölme (İki `int` bölünürse sonuç tam sayı çıkar!)
- `%` Mod Alma (Bölümden kalanı verir)
- `++` 1 Artırma (`i++` veya `++i`)
- `--` 1 Eksiltme

### B. İlişkisel (Karşılaştırma) Operatörleri (Sonuç `boolean` döner):
- `==` Eşit mi?
- `!=` Eşit değil mi?
- `>` Büyük mü?
- `<` Küçük mü?
- `>=` Büyük veya eşit mi?
- `<=` Küçük veya eşit mi?

### C. Mantıksal Operatörler:
- `&&` (Ve - AND): Tüm koşullar `true` ise `true` döner.
- `||` (Veya - OR): Koşullardan biri `true` ise `true` döner.
- `!` (Değil - NOT): Koşulun tersini alır.

---

🚦 2. Karar Yapıları: `if`, `else if`, `else` 🛣️

Program akışını belirli koşullara göre yönlendirmek için `if-else` yapıları kullanılır.

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print("Sınav notunuzu giriniz (0-100): ");
int not = scanner.nextInt();

if (not >= 90 && not <= 100) {
System.out.println("Harf Notunuz: AA - Mükemmel! 🌟");
} else if (not >= 80 && not < 90) {
System.out.println("Harf Notunuz: BA - Çok İyi! 👍");
} else if (not >= 70 && not < 80) {
System.out.println("Harf Notunuz: BB - Başarılı! 🙂");
} else if (not >= 50 && not < 70) {
System.out.println("Harf Notunuz: CC - Geçti! 😐");
} else if (not >= 0 && not < 50) {
System.out.println("Harf Notunuz: FF - Kaldınız! ❌");
} else {
System.out.println("Hatalı not girdiniz! Lütfen 0-100 arasında bir değer girin.");
}

scanner.close();
}
}

---

❓ 3. Ternary (Üçlü) Operatör (`? :`) ⚡

Tek satırda basit `if-else` kararları vermek için kullanılır.

Sözdizimi: `değişken = (koşul) ? "Doğruysa Çalışacak Değer" : "Yanlışsa Çalışacak Değer";`

public class Main {
public static void main(String[] args) {
int yas = 20;

// Klasik if-else yerine Ternary kullanımı:
String durum = (yas >= 18) ? "Reşit (Ehliyet alabilir)" : "Reşit Değil";

System.out.println("Durum: " + durum);
}
}

---

🔀 4. Seçim Yapısı: `switch-case` 🎛️

Bir değişkenin alabileceği tekil/sabit değerlere göre farklı kod bloklarını çalıştırmak için `switch-case` kullanılır.

⚠️ **Unutmayın:** Her `case` bloğunun sonuna `break;` konulmalıdır. Aksi takdirde altındaki tüm case'ler sırayla çalışmaya devam eder (Fall-through davranışı).

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("--- Haftalık Ders Programı ---");
System.out.print("Gün numarasını giriniz (1-7): ");
int gun = scanner.nextInt();

switch (gun) {
case 1:
System.out.println("Pazartesi: Matematik ve Fizik");
break;
case 2:
System.out.println("Salı: Kimya ve Biyoloji");
break;
case 3:
System.out.println("Çarşamba: Java İle Programlama");
break;
case 4:
System.out.println("Perşembe: İngilizce");
break;
case 5:
System.out.println("Cuma: Web Tasarım");
break;
case 6:
case 7:
System.out.println("Hafta Sonu: Tatil ve Proje Geliştirme! 🎉");
break;
default:
System.out.println("Geçersiz gün numarası!");
break;
}

scanner.close();
}
}

---

🚀 5. Modern Java Switch Expressions (Java 14+) 🌟

Java 14 ile birlikte `switch` yapısı okunması çok daha kolay ve `break` kelimesine ihtiyaç duymayan ok operatörü (`->`) kullanımını desteklemeye başlamıştır:

public class Main {
public static void main(String[] args) {
int gun = 3;

// Modern Switch Expression
String gunAdi = switch (gun) {
case 1 -> "Pazartesi";
case 2 -> "Salı";
case 3 -> "Çarşamba";
case 4 -> "Perşembe";
case 5 -> "Cuma";
case 6, 7 -> "Hafta Sonu";
default -> "Bilinmeyen Gün";
};

System.out.println("Seçilen Gün: " + gunAdi);
}
}

---

📝 Bölüm Özeti ve Gelecek Bölüm 🔮

Bu bölümde Aritmetik, İlişkisel ve Mantıksal operatörleri, `if/else` karar bloklarını, Ternary operatörünü ve Klasik/Modern `switch-case` kullanımını öğrendik.

👉 **Bölüm 4'te Bizi Ne Bekliyor?**
• Döngüler (Loops): `for`, `while`, `do-while`
• Gelişmiş Döngü (Enhanced For / For-Each)
• Akış Kontrol Komutları (`br
eak` ve `continue`)
• İç İçe Döngüler (Nested Loops) ve Etiketli (Labeled) Döngüler

Sorularınızı konu altından iletebilirsiniz. Bir sonraki bölümde görüşmek üzere! ☕✨

🔒 Bu içeriği görmek için giriş yapın

 
Yanıt yazmak için giriş yapmalısınız
Forum özelliklerini kullanmak ve Level 2 üyelik satın almak için hesabınıza giriş yapın.
135,050Konular
3,297,703Mesajlar
326,233Kullanıcılar
membiSon Üye
Üst Alt