CodeBlanks Logo Icon CodeBlanks

Parametreli lambda

(x) -> ... ile parametreli lambdayı öğrenirsin.

Parametreli lambda

Lambda parametre de alabilir: (String s) -> s.length(). Tür genellikle çıkarılır; (s) -> s.length() de geçerlidir. Tek parametrede parantez isteğe bağlı: s -> s.length().

Birden fazla parametre virgülle ayrılır: (a, b) -> a + b. Gövde tek ifade ise return gerekmez; Java sonucu otomatik döndürür. Blok gövde yazılırsa return şarttır: (a, b) -> { return a + b; }.

Bloklambda ve return

Lambda gövdesi birden çok deyim içerecekse süslü parantezle blok yazılır. Blok içinde return ifadesi sonucu döndürür. Örnek: (int a, int b) -> { int sum = a + b; return sum * 2; }.

Blok gövde tek satırlı olsa bile return şarttır: (a, b) -> { return a + b; }. Bu, expression gövdeden farklıdır; expression gövdede return yazılmaz. Yanlışlıkla iki stili karıştırmak derleme hatası verir.

Uygulama İki sayı toplayan lambda

java.util.function.BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b; tanımla. int result = add.apply(3, 4); ile çağr. System.out.println(result); ile sonucu yazdır.

Başlangıç kodu

Main.java
import java.util.function.BiFunction;

public class Main {
    public static void main(String[] args) {
        // BiFunction<Integer, Integer, Integer> lambda tanimla, apply ile cagir, yazdir

    }
}

Örnek çözüm

Main.java
import java.util.function.BiFunction;

public class Main {
    public static void main(String[] args) {
        BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;
        int result = add.apply(3, 4);
        System.out.println(result);
    }
}

Beklenen çıktı

7

Soru ve cevaplar

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

1 Tek parametre lambdasını tamamla

Soru
java.util.function.Function<String, Integer> len = ____ -> s.length();
Cevap
java.util.function.Function<String, Integer> len = s -> s.length();

Açıklama: Tek parametrede parantez isteğe bağlıdır.

2 (a, b) -> a + b ne döndürür?

  • Bir Runnable örneği
  • Hata fırlatır
  • a ve b'nin toplamı Doğru cevap
  • a ve b'yi yazdırır

Açıklama: Expression gövde sonucu otomatik döndürür; toplam geri verilir.

3 Lambda gövde türlerini eşleştir

Kavram Anlamı
() -> ... Parametresiz
s -> ... Tek parametre
(a, b) -> ... İki parametre
{ return ...; } Blok gövde

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