728x90
반응형
package chap10;
/*
* 매개변수, 리턴값이 있는 경우
* (매개변수,매개변수) -> { return 리턴값 };
* 리턴값 : 추상메서드의 리턴타입인 값
*
* 구현되는 문장이 return 값 인 경우는 return 구문을 생략 가능
*/
interface LambdaInterface4 {
int method(int x, int y);
}
public class LambdaEx4 {
public static void main(String[] args) {
LambdaInterface4 f = (x,y) -> {
return x+y;
};
f=(x,y)->x+y;
System.out.println(calc(f,10,20));
System.out.println(calc((x,y)->x+y,10,20));
//두 수의 곱
f = (x,y) -> { return x*y;};
f = (x,y) -> x*y;
System.out.println("두 수의 곱: " + f.method(10,20));
System.out.println("두 수의 곱: " + calc((x,y)->x*y,10,20));
//두 수의 차이
System.out.println("두 수의 차이: " + calc((x,y)->x-y,10,20));
//두 수의 몫
System.out.println("두 수의 몫: " + calc((x,y)->x/y,100,20));
//두 수의 나머지
System.out.println("두 수의 나머지: " + calc((x,y)->x%y,51,5));
//두 수 중 큰값
System.out.println("두 수 중 큰값: " + calc((x,y)->(x>y)?x:y,51,52));
//두 수 중 작은값
System.out.println("두 수 중 작은값: " + calc((x,y)->(x<y)?x:y,51,52));
}
static int calc(LambdaInterface4 f, int x,int y) {
return f.method(x, y);
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 28. Lambda6 (Java API의 FunctionInterface 사용하기) (0) | 2022.03.23 |
---|---|
[Java] 28. Lambda5 (함수객체에서 지역변수 사용시 지역변수는 상수화 되어야 함.) (0) | 2022.03.23 |
[Java] 28. Lambda3 (메서드를 이용해서 x+x인 값을 출력) (0) | 2022.03.23 |
[Java] 28. Lambda2 (매개변수로 사용하기) (0) | 2022.03.23 |
[Java] 28. Lambda1 (람다의 정의) (0) | 2022.03.23 |