Teori
Öğrenme hedefleri
Bu haftanın sonunda:
- 1 Yerel değişken ve kapsam kurallarını açıklar; kapsam hatasını tanır.
- 2 Bir metot çağrı zincirini yığın diyagramıyla çizer ve değişken değerlerini izler.
- 3 Artımlı geliştirme ile bir problemi küçük, test edilen adımlarla çözer.
- 4 Kod izleme sorusunda metot çağrısının dönüş değerini doğru bulur.
- 5 KT2: ana akışı gözcü değerle biten bir menü döngüsünde çalışan ve girdi doğrulama döngüsü içeren sürümü 27 Kasım Cuma 23.59'a kadar push eder.
Haftanın Bulmacası
Kağıt yığını: her metot çağrısı için bir kağıt, üstteki kağıt aktif; return olunca kağıt atılır. Üç metotlu bir program tahtada kağıtlarla “çalıştırılır”; hangi değişken hangi kağıtta?
Ders Notları
İşlenecek başlıklar:
- Kapsam (scope): yerel değişkenler, blok kapsamı, aynı ad farklı metot
- Çağrı yığını ve yığın diyagramları (Think Java 4.5)
- Metot içinde değişken değiştirmek çağıranı etkiler mi? (değer ile geçirme)
- Artımlı geliştirme: mesafe hesabı örneği adım adım (Think Java 4.9)
- Test: bilinen cevaplı girdilerle metot doğrulama
- Kod tekrarını metotla giderme; iyi metot adı
- Ara sınav haftası: tarih ve yer bölümce ilan edilecek; kırmızı bölge
- Ara sınava hazırlık: kod izleme, boşluk doldurma, portfolyodan 10 puanlık soru
- KT2: gözcü değerle biten menü döngüsü, girdi doğrulama (27 Kasım Cuma 23.59)
Temel Kavramlar
- Kapsam (scope): Bir değişkenin görülebildiği kod bölgesi.
- Yerel değişken: Metot içinde tanımlanan, metot bitince yok olan değişken.
- Çağrı yığını (call stack): Aktif metot çağrılarının üst üste dizildiği bellek bölgesi.
- Değer ile geçirme: Argümanın kopyası gönderilir; ilkel tiplerde çağıranın değişkeni değişmez.
- Artımlı geliştirme: Her seferinde küçük bir parça ekleyip test etme.
Sahadan Örnekler
- StackOverflowError: bir metodun kendini sonsuz çağırması yığını taşırır; Stack Overflow sitesinin adı buradan gelir.
- Profesyonel ekiplerde her metot için otomatik test yazılır (JUnit); artımlı geliştirme bu alışkanlığın ilk adımıdır.
Laboratuvar
Bu haftanın laboratuvarı bir hafta sonra yapılır (A Çarşamba 13.15, B Perşembe 15.15): Lab 9. Tarihler için Ders Hakkında sayfasındaki takvime bakın.
Bu haftanın araçları
- Java Playground
- JDK 21
- VS Code
- Java Visualizer
Etiketler:kapsamyığınstackartımlı geliştirmetestara sınavKT2