🔀 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