Java/Simple code 16

Java Lambda(람다)

람다식은 함수형 프로그래밍 기법을 지원하는 자바의 문법요소이다. Lambda 식을 이용하기 위해서는 interface 가 필요하며 매개변수와 리턴값의 유무에 따라 3가지의 람다식 유형이 존재한다. 1. 매개변수 o 리턴값 o 2. 매개변수 x 리턴값 x 3. 매개변수 o 리턴값 x 아래의 코드 내용은 유형 1,2,3에 맞게 각각 나타내었다. ex) LambdaJg1.play1 은 매개변수 o 리턴값 o의 유형 interface LambdaJg3{ void play3(String x); } interface LambdaJg2 { void play2(); } interface LambdaJg1 { int play1(int x, int y); } public class CordJgLambda1 { public..

Java/Simple code 2023.01.27

Java 소수점 자릿수 표현하기 3가지 방법

1. System.out.printf("%. 3f") %.(num)f -> num 숫자에 따라 소수점 num까지 표현 즉, 3이면 소수점 4번째 자리에서 반올림하여 3번째 자리까지 나타낸다. public class CordJgwow { public static void main(String[] args) { double n1 = 6.2; double n2 = 3.4; double result = n1/n2; System.out.printf("%.3f",result); } } //출력 1.824 2. String.format() 대략적인 구조는 1번과 비슷하지만 String 타입의 참조변수에 담아줘서 출력하는 방식이다. public class CordJgwow { public static void main..

Java/Simple code 2023.01.27

Java 알고리즘 재귀함수에 대한 고민과 기록

재귀함수의 요건에는 두 가지가 있다. 하나는 재귀함수가 탈출할 수 있도록 재귀를 할 때마다 값에 변화를 탈출 조건에 다가가게 설정하는 것이고 하나는 그 탈출 조건, 즉 탈출구를 만드는 것이다. public class anything { static int num; static int sum; public static void main(String[] args) { System.out.println(CordJg(0)); } public static int CordJg(int count){ if(count==5){ sum = num; return sum; } num=num+1; System.out.println(num); //출력 1,2,3,4,5(재귀가 반복될 때마다 1증가) CordJg(count+1);..

Java/Simple code 2023.01.25

Java 숫자 반올림, 올림, 내림(Math)+ 소수점 n번째 자리에서 반올림

public class CordJgMathEx { public static void main(String[] args) { double num = 10.19; double half = Math.round(num); double up = Math.ceil(num); double down = Math.floor(num); double[] arr = {half, up, down}; for(int i=0; i 102.0 그리고 이 값을 10.0으로 나누게 되면 10.2가 되어 원하던 소수점 첫째짜리까지의 값을 얻을 수 있습니다. half = (Math.round(num*10)/10.0); System.out.println(half); half = (Math.round(num*100)/100.0); System...

Java/Simple code 2023.01.23

Java 제네릭(Generic) 메서드

제네릭 메서드의 타입 매개변수 선언은 반환타입 앞에서 이루어지며, 해당 메서드 내에서만 선언한 타입 매개변수를 사용할 수 있다. class CortCat { ... public void add(T element) { ... } } 제네릭 메서드의 타입 매개변수는 제네릭 클래스의 타입 매개변수와 별개의 것이다. 즉, 아래와 같이 동일하게 T라는 타입 매개변수명을 사용한다 하더라도, 같은 알파벳 문자를 이름으로 사용하는 것일 뿐, 서로 다른 타입 매개변수로 간주된다. class CordCat { // 1 : 여기에서 선언한 타입 매개변수 T와 ... public void add(T element) { // 2 : 여기에서 선언한 타입 매개변수 T는 서로 다른 것 ... } } 또한, 클래스 타입 매개변수와 ..

Java/Simple code 2023.01.23

Java_제네릭(Generic) 클래스

제네릭의 필요성 아래와 같이 제네릭을 사용하면 단 하나의 CordJg클래스만으로 모든 타입의 데이터를 저장할 수 있는 인스턴스를 만들 수 있다. class CordJg { private T code; public CordJg(T code) { this.code = code; } public T getCode() { return code; } public void setCode(T code) { this.code = code; } } 위의 CordJg클래스는 다음과 같이 인스턴스화할 수 있다. CordJg cordJg1 = new CordJg("고양이"); 제네릭 클래스를 정의할 때 주의할 점 class CordJg { private T code1; // 가능 static T code2; // 불가능 } ..

Java/Simple code 2023.01.23

Java list to stream, set to stream

컬렉션 타입(List,Set 등) 은 컬렉션의 최상위 클래스인 Collection 에 정의된 stream() 메서드를 사용해서 스트림을 생성할 수 있습니다. 그렇기 때문에 Collection으로부터 확장된 하위클래스 List와 Set을 구현한 컬랙션 클래스들은 모두 stream()매서드를 사용해서 스트림을 생성할 수 있습니다. import java.util.*; import java.util.stream.*; public class JgStream3 { public static void main(String[] args) { List list = Arrays.asList(10, 20, 50, 70, 100); Stream stream = list.stream(); stream.forEach(System...

Java/Simple code 2023.01.23