From 9b3c4c2d9460550dadf80055d46f2b563180fc06 Mon Sep 17 00:00:00 2001 From: Tunahan Erturk <89503561+tunisch@users.noreply.github.com> Date: Sat, 18 Oct 2025 10:55:25 +0300 Subject: [PATCH 1/3] Clarify if-else usage with salt ratio example Updated the explanation of if-else statements with examples. --- if-else.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/if-else.md b/if-else.md index 42d707a..7088c9e 100644 --- a/if-else.md +++ b/if-else.md @@ -59,7 +59,7 @@ else{ ``` - Sizce yukarıda yazdığımız kodun Console çıktısı nedir ? -i nin degeri 10'dan farklıdır ve 10'dan kücük degildir. +* i nin degeri 10'dan farklıdır ve 10'dan kücük degildir. Örneğin tuz oranı %80 ve üzerinde ise "yüksek derecede tuzlu", %80 ile %50 arasında ise "orta derecede tuzlu", bunların dışında bir durumda ise "düşük derecede tuzlu" şeklinde ekrana bilgiler yazan bir program yazmak istediğimizde if-else if-else yapısını kullanabiliriz. ```java float saltRatio = 0.9f; From d7703027fc17dc51f168f5e2300860ae2ddefa53 Mon Sep 17 00:00:00 2001 From: Tunahan Erturk <89503561+tunisch@users.noreply.github.com> Date: Sun, 19 Oct 2025 20:29:06 +0300 Subject: [PATCH 2/3] Enhance if-else.md with nested if and operators Added explanations and examples for nested if, logical operators, and ternary if statements. --- if-else.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/if-else.md b/if-else.md index 7088c9e..6a6fa28 100644 --- a/if-else.md +++ b/if-else.md @@ -73,7 +73,15 @@ else { System.out.println("düşük derecede tuzlu"); } ``` -- "if-else" yapılarını iç içe de kullanma şansına sahibiz. +### 🧩 1️⃣ İç içe if (Nested if) — “Şartlar sırayla test edilecekse” +#### 🧠 Ne zaman kullanılır: +- Bir koşul doğru olduktan sonra ancak o durumda başka bir koşulu kontrol etmek istiyorsan. +- Yani: “Eğer şu oluyorsa, o zaman bu da olmalı.” + +##### 📘 Kullanım senaryoları: +- Bir işlem adım adım ilerliyorsa +- Önce temel bir şart, sonra alt detaylar kontrol ediliyorsa +- Her koşulun içinde farklı bir hata veya açıklama mesajı göstermek istiyorsan ```java Örneğin: 18 yaşından küçük olanlar kan bağışı yapamazlar, fakat, 18 yaşına eşit ve büyük olan bir kişi eğer kilosu 48'den büyükse kan verebilir, kilosu 48'den küçükse kan veremez gibi basit bir kuralı Java'da kodlayalım. @@ -98,3 +106,64 @@ else{ ``` Kan verebilirsiniz. ``` +### ⚙️ 2️⃣ Mantıksal Operatörlerle If (&&, ||, !) — “Tüm şartlar aynı anda geçerli olmalıysa” +#### 🧠 Ne zaman kullanılır: + +- Birden fazla koşulu tek seferde kontrol etmek istiyorsan. +- Yani tüm şartlar aynı seviyedeyse, biri diğerine bağlı değilse. + +##### 📘 Kullanım senaryoları: + +- Giriş izni, yetki, form doğrulama gibi durumlar +- “Hepsi doğru olmalı” veya “en az biri doğru olmalı” kontrollerinde +- İç içe if yazmak istemediğinde +```java +if (yas >= 18 && ehliyetVarMi && gozTestiGectiMi) { + System.out.println("Araba kullanabilirsiniz."); +} else { + System.out.println("Şartlardan biri sağlanmıyor."); +} +``` +##### 🟢 Avantajı: + +- Daha kısa ve okunabilir +- İç içe if’e göre daha temiz +- “Hepsi doğruysa” mantığını tek satırda yazar + +##### 🔴 Dezavantajı: +- Hangi şartın neden yanlış olduğunu görmek zordur. +- “Neden başarısız?” sorusuna net yanıt vermez (tek bir else bloğu vardır). +### ⚡ 3️⃣ Ternary If (?:) — “Basit true/false kararlarında” +#### 🧠 Ne zaman kullanılır: +Bir koşula göre tek bir değer atayacaksan veya tek satırlık karar vereceksen. + +#### 📘 Kullanım senaryoları: + +- Kısa çıktı üretmek +- Değişken ataması yapmak +- Konsola veya GUI’ye kısa mesaj yazmak +```java +String mesaj = (puan >= 50) ? "Geçti" : "Kaldı"; +System.out.println(mesaj); +``` +##### 🟢 Avantajı: +- Çok kısa ve temiz +- Bir değişkene atama yaparken pratik + +##### 🔴 Dezavantajı: +- Koşul karmaşık hale gelirse okunması zorlaşır. + +```java +String sonuc = (a > b && c < d) ? (x == y ? "A" : "B") : "C"; // Okuması zor! +``` +Bu gibi durumlarda klasik if-else daha okunabilir olur. +### Hangisi Ne Zaman Kullanılır? + +| Kullanım Türü | Ne Zaman Tercih Edilir | Avantaj | Dezavantaj | +| :-------------------------------| :------------------------------------------------------------ | :--------------------------------------------------- | :-------------------------------------- | +| **İç içe if (nested if)** | Şartlar **birbirine bağlı** olduğunda | Her adımın neden başarısız olduğunu anlayabilirsin | Uzarsa karışır | +| **Ternary if (?:)** | Tek satırda **basit kararlar** için | En kısa yöntem | Karar karmaşıklaşırsa okunamaz olur | +| **Mantıksal if (&&,! ya da sembolu)** | Şartlar **bağımsız ama aynı anda kontrol edilecekse** olursa | Kısa ve temiz | Hangi şartın hatalı olduğunu bilemezsin | + + + From 745014f711f3148f57f3d08b0f090f18332fe5f3 Mon Sep 17 00:00:00 2001 From: Tunahan Erturk <89503561+tunisch@users.noreply.github.com> Date: Thu, 23 Oct 2025 15:53:05 +0300 Subject: [PATCH 3/3] Enhance if-else.md with Java examples Added examples of single-line and multi-line if-else statements in Java. --- if-else.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/if-else.md b/if-else.md index 6a6fa28..6e20e7e 100644 --- a/if-else.md +++ b/if-else.md @@ -4,6 +4,33 @@ Java'da mantıksal ve koşullu ifadeler için if blokları kullanılır. Java 'd Koşula göre program içinde farklı işlemleri yerine getirmek gerekebilir. If-else muhtemelen yazılım programlarında en yaygın kullanılan karar mekanizmasıdır. Bu tarz durumları Java'da kodlayabilmek için if-else karar mekanizmasının yanında switch-case gibi yapılarda kullanılmaktadır. İf-else karar mekanizması istenilen koşul gerçekleştiği takdirde çalışır. Kısacası belirlenen koşul doğruysa yazılan kod çalışır. +## Tek satır IF Else ({} yok) +```java +int x = 10; + +if (x > 5) + System.out.println("x 5'ten büyük"); +``` + +- Bu tamamen geçerli ve çalışır. + +## Birden fazla satır ({} zorunlu) +```java +int x = 10; + +if (x > 5) { + System.out.println("x 5'ten büyük"); + x += 2; // ikinci satır + System.out.println("x'in yeni değeri: " + x); +} +``` + +- Küçük ipucu: + +* Kod okunabilirliği için genellikle {} kullanmak önerilir, özellikle yeni başlayanlar için karışıklığı önler. + +* Ama tek satırlık basit işlemlerde {} yazmayabilirsin. + ## Java'da Karar Mekanizmaları Java'da koşullu ifade ve şart oluşturmak için if ve else kullanılırız. Ayrıca else if, switch gibi koşullu ifadelere sahiptir. - Programımızda belirtilen bir koşul doğruysa yürütülecek bir kod bloğu belirtmek için if kullanılır.