본문 바로가기

Java23

BufferedReader, BufferedWriter, StringTokenizer 버퍼(buffer) - 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역 - 입출력 속도 향상을 위해 버퍼 사용 - 버퍼 플러시(buffer flush): 버퍼에 남아있는 데이터를 출력시킴(버퍼를 비우는 동작) - 버퍼를 이용한 입력 BufferedReader 버퍼를 이용한 출력 BufferedWriter - BufferedReader/BufferedWriter는 Buffer에 있는 IO 클래스 - 입력된 데이터가 바로 전달되지 않고 중간에 버퍼링이 된 후에 전달된다. - 버퍼스트림을 InputStreamReader / OutputStreamWriter를 같이 사용해 버퍼링을 하게 되면 입출력 스트림으로부터 미리 버퍼에 데이터를 갖다 놓기 때문에 보다 효.. 2022. 1. 17.
재귀호출( recursive call) 재귀호출(recursive call) - 메서드의 내부에서 메서드 자신을 다시 호출하는 것 - 재귀호출을 하는 메서드를 '재귀 메서드'라 한다. void method() { method(); // 재귀호출. 메서드 자신을 호출한다. } -> 이 코드 처럼 재귀호출을 계속하면 결국 무한히 자기 자신을 호출하기 때문에 무한 반복에 빠지게 된다. 무한반복 + 조건문 처럼 재귀호출도 조건문이 필수적!!!! void method(int n) { if(n==0) return; // n의 값이 0일 때, 메서드를 종료한다. System.out.println(n); method(--n); // 재귀호출. method(int n)을 호출 } // 위의 코드와 동일함 void method(int n { while(n!=0.. 2022. 1. 13.
ChoiceFormat과 MessageFormat ChoiceFormat - 특정 범위에 속하는 값을 문자열로 변환(범위에 따른 정수를 문자로 표현 A, A+, B B+..) 예제1) import java.text.ChoiceFormat; public class ChoiceFormatEx1 { public static void main(String[] args) { double[] range = {60, 65, 70, 75, 80, 85, 90, 95}; String[] grades = {"D", "D+", "C", "C+", "B", "B+", "A", "A+"}; double[] scores = { 100, 86.6, 70, 60.5, 65.5, 78.6, 93, 80.4 }; ChoiceFormat form = new ChoiceFormat(ran.. 2022. 1. 8.
Java.time 패키지 java.time - 날짜와 시간을 다루는데 필요한 핵심 클래스 제공 java.time패키지의 핵심 클래스 LocalDate 날짜를 나타내는 클래스 LocalTime 시간을 나타내는 클래스 LocalDateTime 날짜, 시간을 모두 표현하는 클래스 ZonedDateTime 날짜, 시간, 장소까지 표현하는 클래스 Period 두 날짜 간의 차이를 표현하기 위한 클래스 Duration 두 시간의 차이를 표현하기 위한 클래스 이 클래스들의 특징은 String 클래스처럼 불변 -> 날짜나 시간을 변경하는 메서드들은 기존의 객체를 변경하는 대신 항상 새로운 객체를 반환(그래서 대입연산자 필요!) 객체 생성하기 1. now( ) 현재 날짜와 시간을 저장하는 객체 생성 import java.time.*; publi.. 2022. 1. 1.
Math클래스의 round와 random 메소드 반올림 - Math.round( ) 실수를 소수점 첫째 자리에서 반올림한 정수를 반환 long result = Math.round(4.52); //result에 5가 저장된다. 3142(int) / 1000(int) -> 3(int) 3142(int) / 1000.0(double) -> 3142.0(double) / 1000.0(double) -> 3.142(double) double pi = 3.141592; // 3.141을 얻으려면? System.out.println(pi*1000); System.out.println((int)(pi*1000)); System.out.println((int)(pi*1000)/1000.0); 임의의 정수 만들기 - Math.random( ) 0.0과 1.0 사이의 임.. 2021. 12. 29.