🔀 Akış Kontrolü — If/Else, Switch, Döngüler

Akış Kontrolü — If/Else, Switch: Akış kontrolü (if/else, switch, döngüler), programın hangi kodun ne zaman ve kaç kez çalışacağına bir koşula bakarak karar verdiği mekanizmadır —

Akış kontrolü (if/else, switch, döngüler), programın hangi kodun ne zaman ve kaç kez çalışacağına bir koşula bakarak karar verdiği mekanizmadır — tıpkı bir demiryolu makasçısının gelen trene bakıp rayı bir yöne çevirmesi gibi: aynı ray sistemi, koşula göre treni farklı hatta gönderir, karar bir kez kurulur ama her tren için otomatik işler. Peki tüm satırları sırayla yazsak yeter miydi, neden if/else ve döngü gibi yapılara ihtiyaç var? Çünkü gerçek programlar duruma göre farklı davranmalı ve tekrarı elle yüzlerce kez yazmak yerine döngüyle özetlemeli; koşulsuz düz kod ne karar verebilir ne de veriyle ölçeklenir. Java'da `switch` artık pattern matching ile Python'daki `match` ve TypeScript'teki `switch`'e yaklaşır, ama Java'nın tip güvenliği kollarda yanlış tip karşılaştırmasını derleme zamanında yakalar. QA mühendisi için akış kontrolü test mantığının kalbidir: bir test verisine göre farklı doğrulama yolu seçen (`if (env == "prod") ... else ...`) veya bir listedeki her elemanı tek tek assert eden döngüler yanlış kurulursa test hiçbir şeyi kontrol etmeden sessizce PASS verir — bu da en tehlikeli hata türü olan sahte yeşildir.

Micro Lab: Kod yazma

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

if/else Merdiveni Canlı Çalışsın

Notlardaki Scanner + if örneklerini QA bakışıyla gör: kullanıcıdan gelen score değişkeni sırayla koşullardan geçer, ilk true branch output üretir.

switch ve switch expression (Java 14+)

Switch pratiği — dene!

Bu kod ekrana ne yazar? İpucu: bir `break` eksik.

`case 2` içinde `break` YOK — Java otomatik durmaz, bir sonraki case'e devam eder (fall-through).

"APPROVED" ve "SHIPPED" (iki satır)

`status` değeri 2 ve `case 2` eşleşiyor — `default`'a hiç uğramaz.

`break`'siz bir case tamamen geçerli Java sözdizimidir — sadece niyet edilmemiş davranışa yol açar.

while ve do-while Döngüleri

Adim Adim: Kod yazma