関数式プログラミングとラム多式


02.ラムティー(Lambda expression)


関数式プログラミングとラム多式


  • Javaオブジェクト向けプログラミング:機能を実装する方法には、オブジェクトの作成、オブジェクト内部でメンバー変数の宣言、および実行機能が含まれます.

  • Java 8から関数式プログラミングをサポートし、ラムダ式と呼ばれています

  • 関数の実装と呼び出しのみでプログラミングします.

  • 関数プログラミング(Functional Programming:FP)
    関数式プログラミングは、外部データに対する副作用を回避するために、純粋な関数(pulse function)を実装および呼び出すことによって実現される.純関数は、パラメータのみを使用して作成される関数です.すなわち,関数内部では関数外部の変数を用いず,関数が実行されても外部に影響を及ぼさない.
    関数ベースのプログラミングで、外部データを使用せずに複数のデータを並列に処理できます(入力されたデータを除く).
    関数式プログラミングは、関数の機能が資料から独立していることを保証します.これにより、同じデータセットに対して同じ結果を生成したり、異なるデータセットに対して同じ機能を実行したりすることができます.
  • ランダ文法


  • 匿名関数の作成

  • パラメータとパラメータを使用した実行文(パラメータ)->実行文;

  • 例add()関数で、2つの数を入力して加算します.
  • int add(int x, int y){
    
        return x+y;
    }
  • ram多項式で示す
  • (int x, int y) -> {return x+y;}
    
  • パラメータが1つしかない場合は、データ型と括弧
  • を省略することができる.
    str->{System.out.println(str);}
    2つの
  • パラメータがある場合、カッコ
  • は省略できません.
    x, y -> {System.out.println(x+y);}  //오류
  • 実行文が文である場合、括弧
  • を省略することができる.
    str-> System.out.println(str);
  • 実行文が1つの文であるも、戻り文(戻り文)は括弧
  • を省略することはできない.
    str-> return str.length();  //오류
  • 実行文が1つの文の戻り文である場合、戻りと括弧は
  • を省略する.
    (x, y) -> x+y;
    str -> str.length;
    package me.sungbin.chapter6.ch06_02;
    
    public class AddTest {
        public static void main(String[] args) {
    
            Add sum = Integer::sum;
    
            System.out.println(sum.add(2, 3));
        }
    }