산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 8 - 람다 표현식

Lambda 표현식은 Java 8에 도입되었으며 Java 8의 가장 큰 기능으로 선전됩니다. Lambda 표현식은 함수형 프로그래밍을 용이하게 하고 개발을 크게 단순화합니다.

구문

람다 식의 특징은 다음 구문입니다.

parameter -> expression body

다음은 람다 식의 중요한 특성입니다.

람다 식 예

예를 들어 C:\> JAVA.

에서 원하는 편집기를 사용하여 다음 Java 프로그램을 만듭니다.

Java8Tester.java

라이브 데모
public class Java8Tester {

   public static void main(String args[]) {
      Java8Tester tester = new Java8Tester();
		
      //with type declaration
      MathOperation addition = (int a, int b) -> a + b;
		
      //with out type declaration
      MathOperation subtraction = (a, b) -> a - b;
		
      //with return statement along with curly braces
      MathOperation multiplication = (int a, int b) -> { return a * b; };
		
      //without return statement and without curly braces
      MathOperation division = (int a, int b) -> a / b;
		
      System.out.println("10 + 5 = " + tester.operate(10, 5, addition));
      System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));
      System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));
      System.out.println("10 / 5 = " + tester.operate(10, 5, division));
		
      //without parenthesis
      GreetingService greetService1 = message ->
      System.out.println("Hello " + message);
		
      //with parenthesis
      GreetingService greetService2 = (message) ->
      System.out.println("Hello " + message);
		
      greetService1.sayMessage("Mahesh");
      greetService2.sayMessage("Suresh");
   }
	
   interface MathOperation {
      int operation(int a, int b);
   }
	
   interface GreetingService {
      void sayMessage(String message);
   }
	
   private int operate(int a, int b, MathOperation mathOperation) {
      return mathOperation.operation(a, b);
   }
}

결과 확인

javac를 사용하여 클래스 컴파일 다음과 같이 컴파일러 -

C:\JAVA>javac Java8Tester.java

이제 다음과 같이 Java8Tester를 실행하십시오 -

C:\JAVA>java Java8Tester

다음 출력을 생성해야 합니다 -

10 + 5 = 15
10 - 5 = 5
10 x 5 = 50
10 / 5 = 2
Hello Mahesh
Hello Suresh

위의 예에서 고려해야 할 중요한 사항은 다음과 같습니다.

범위

람다 식을 사용하면 모든 최종 변수 또는 사실상 최종 변수(한 번만 할당됨)를 참조할 수 있습니다. 변수에 두 번째로 값이 할당되면 Lambda 표현식에서 컴파일 오류가 발생합니다.

범위 예

예를 들어 C:\> JAVA.

에서 원하는 편집기를 사용하여 다음 Java 프로그램을 만듭니다.

Java8Tester.java

라이브 데모
public class Java8Tester {

   final static String salutation = "Hello! ";
   
   public static void main(String args[]) {
      GreetingService greetService1 = message -> 
      System.out.println(salutation + message);
      greetService1.sayMessage("Mahesh");
   }
	
   interface GreetingService {
      void sayMessage(String message);
   }
}

결과 확인

javac를 사용하여 클래스 컴파일 다음과 같이 컴파일러 -

C:\JAVA>javac Java8Tester.java

이제 다음과 같이 Java8Tester를 실행하십시오 -

C:\JAVA>java Java8Tester

다음 출력을 생성해야 합니다 -

Hello! Mahesh

java

  1. 자바 연산자
  2. Java 표현식, 명령문 및 블록
  3. 자바 주석
  4. 자바 for-each 루프
  5. 자바 문자열
  6. 자바 인터페이스
  7. 자바 익명 클래스
  8. 자바 리소스 사용
  9. 자바 주석
  10. 자바 어설션