CodeBlanks Logo Icon CodeBlanks

Lambda temelleri

() -> ... ile lambda ifadesini öğrenirsin.

Lambda expression

Lambda expression, küçük bir fonksiyonu tek satırda yazmanın kısa yoludur. Sözdizimi: (parametreler) -> gövde. Parametre yoksa (), tek parametrede parantez isteğe bağlı.

Örnek: Runnable r = () -> System.out.println("Merhaba");. Bu lambda bir Runnable olarak atanır; r.run() çağrıldığında gövde çalışır. Lambda, tek metotlu arayüzlere (functional interface) atanabilir; Java türü arayüzün metot imzasından çıkarır.

Functional interface

Lambda yalnızca functional interface'lere atanabilir; bu, tam olarak bir soyut metodu olan arayüzdür. Runnable buna örnektir: tek run() metodu vardır. Java, lambda gövdesini bu tek metotla eşleştirir.

Birden fazla soyut metodu olan arayüzlere lambda atanamaz. @FunctionalInterface annotation'ı derleyiciyi uyarır; ikinci soyut metot eklenirse derleme hatası verir. Bu, lambda atamalarını güvenli kılar.

Uygulama Runnable lambda yaz

Runnable r = () -> System.out.println("Merhaba"); tanımla. Sonra r.run(); çağrısı ile lambdayı çalıştır. Tek satırda Merhaba yazdırılmalı.

Başlangıç kodu

Main.java
public class Main {
    public static void main(String[] args) {
        // Runnable lambda tanimla ve run ile calistir

    }
}

Örnek çözüm

Main.java
public class Main {
    public static void main(String[] args) {
        Runnable r = () -> System.out.println("Merhaba");
        r.run();
    }
}

Beklenen çıktı

Merhaba

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Lambda expression'ın temel sözdizimi nedir?

  • function(parametreler) { gövde }
  • (parametreler) -> gövde Doğru cevap
  • def parametreler: gövde
  • lambda gövde end

Açıklama: Lambda (parametreler) -> gövde biçiminde yazılır.

2 Boş parametre lambdasını tamamla

Soru
Runnable r = ____ -> System.out.println("Merhaba");
Cevap
Runnable r = () -> System.out.println("Merhaba");

Açıklama: Parametresiz lambda () ile başlar.

3 Lambda parçalarını eşleştir

Kavram Anlamı
() Parametre yok
-> Ok işareti
gövde Çalışacak kod
Runnable Tek metotlu arayüz

Orta seviye bölümündeki tüm dersler