본문 바로가기
728x90
반응형

java271

[Java] 28. Lambda5 (함수객체에서 지역변수 사용시 지역변수는 상수화 되어야 함.) package chap10; class Outer4 { public int iv = 10; void method() { int iv = 20; //지역변수 //iv++; LambdaInterface1 f = () -> { //함수객체에서 지역변수 사용시 지역변수는 상수화 되어야 함. System.out.println("iv=" + iv); System.out.println("this.iv=" + this.iv); //10 System.out.println("Outer4.this.iv=" + Outer4.this.iv); //10 }; f.method(); } } public class LambdaEx5 { public static void main(String[] args) { new Outer4().m.. 2022. 3. 23.
[Java] 28. Lambda4 (매개변수, 리턴값이 있는 경우) 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.. 2022. 3. 23.
[Java] 28. Lambda3 (메서드를 이용해서 x+x인 값을 출력) package chap10; interface LambdaInterface3 { void method(double a); } public class LambdaEx3 { public static void main(String[] args) { //1 LambdaInterface3 f = new LambdaInterface3() { @Override public void method(double a) { System.out.println(a*5); } }; f.method(10); //2 LambdaInterface3 fi = (x)-> System.out.println(x*5); fi.method(10); //3 fi = x -> System.out.println(x*5); fi.method(10); /.. 2022. 3. 23.
[Java] 28. Lambda2 (매개변수로 사용하기) package chap10; //매개변수로 사용하기 public class LambdaEx2 { public static void main(String[] args) { //람다방식으로 코딩 LambdaInterface1 fi = () -> System.out.println("람다방식으로 코딩 1"); execute(fi); execute(()->System.out.println("람다방식으로 코딩 2")); //1부터 100까지의 합을 출력하기 fi = () -> { int sum=0; for(int i=0; i { int sum=0; for(int i=0; i 2022. 3. 23.
728x90
반응형