java 55

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

Java IntStream 생성( Array to IntStream)

import java.util.*; import java.util.stream.*; public class JgStream2 { public static void main(String[] args) { int[] intArr = {10,20,30,50}; IntStream intStream = Arrays.stream(intArr); System.out.println("평균은 = " +intStream.average()); } } //출력 평균은 = OptionalDouble[27.5] IntStream 참조변수에 average()을 하면 평균값이 나오게 되는데 , 반환되는 타입이 OptionalDouble이다. 그렇기에 원하는 값인 27.5만을 나오게 하기 위해서는 다음과 같이 해야 한다. import..

Java/Simple code 2023.01.23

Java Array to Stream (배열 스트림 생성)

1.Arrays 클래스의 stream() 메서드 import java.util.*; import java.util.stream.*; public class JgStream2 { public static void main(String[] args) { String[] arr = new String[]{"고양이","호랑이","설날"}; Stream stream =Arrays.stream(arr); stream.forEach(System.out::println); } } //출력 고양이 호랑이 설날 2. Stream 클래스의 of() 메서드 import java.util.stream.*; public class JgStream2 { public static void main(String[] args) { St..

Java/Simple code 2023.01.22

Java StringBuilder vs StringBuffer /Thread

일반적으로 StringBuilder와 StringBuffer를 비교해 보면 StringBuilder가 더 성능이 뛰어나기에 StringBuilder를 사용해 주면 됩니다. 그렇다면 StringBuffer 클래스는 왜 필요한 걸까요?? 이 이유를 알기 위해서는 Thread 개념을 알아야 하는데 간단하게 StringBuffer는 Thread를 이용할 때 메서드가 동기화되므로 Multi Thread 환경일 때 사용됩니다. Thread의 개념을 모른다면 >>> > https://cordcat.tistory.com/62 정리해 보자면 이렇습니다. 성능 : StringBuilder > StringBuffer Thread 사용 시 : StringBuffer 그 외 쓰임새 : StringBuilder = StringB..

Java/Java 2023.01.21

Java Thread

Thread 란 무엇일까?? Thread는 프로세스 내부에서 독립적으로 실행되는 각각의 작업 단위를 지칭합니다. 다음의 코드는 Thread를 이용하지 않고 실행했을 경우입니다. public class PrThread extends Thread { String name ; public PrThread(String a){name=a;} public void run() { System.out.println("내 이름은 "+name+"입니다"); for (int i = 0; i < 4; i++) { System.out.println("첫번째 " + i + " 입니다"); } System.out.println(); } public static void main(String[] args) { String[] a =..

Java/Java 2023.01.21