728x90
20220922(목)
- 목차 (API 클래스)
- Math, Random 클래스
- Date, Calendar 클래스
- Format 클래스
- java.time 패키지
< Math, Random 클래스 >
- Math 클래스 - JavaScript와 거의 동일
수학 계산에 사용할 수 있는 정적 메소드 제공
- Random 클래스
boolean, int, long, float, double 난수 입수 가능
난수를 만드는 알고리즘에 사용되는 종자값(seed) 설정 가능
종자값이 같으면 같은 난수 - Random 클래스로 부터 Random객체 생성하는 방법
Random() | Random(long seed) |
호출시마다 다른 종자값(현재시간 이용)이 자동 설정됨 | 매개값으로 주어진 종자값이 설정됨 |
- Random 클래스가 제공하는 메소드
nextBoolean() | boolean 타입의 난수를 리턴 |
nextDouble() | double 타입의 난수를 리턴(0.0 <= ~ < 1.0) |
nextInt() | int 타입의 난수를 리턴(-2의 23승 <= ~ <= 2의 32승 -1 |
nextInt(int n) | int 타입의 난수를 리턴(0 <= ~ < n) |
< Date, Calendar 클래스 >
Date 클래스 | Calendar 클래스 |
날짜를 표현하는 클래스 날짜 정보를 객체간에 주고 받을 때 주로 사용 |
달력을 표현한 추상 클래스 |
< Format 클래스 >
숫자와 날짜를 원하는 형식의 문자열로 변환
(1) 숫자 형식 클래스 : DemicalFormat
적용할 패턴 선택해 생성자 매개값으로 지정 후 객체 생성
(2) 날짜 형식 클래스 : SimpleDateFormat
(3) 매개변수화 된 문자열 형식: MessageFormat
< java.time 패키지 >
- java.time 패키지란?
자바 8부터 추가된 패키지
날짜와 시간을 나타내는 여러가지 API가 새롭게 추가됨
날짜와 시간을 조작하거나 비교하는 기능이 추가됨
(Date와 Calendar는 날짜와 시간을 조작하거나 비교하는 기능이 불충분)
(1) 날짜와 시간 객체 생성
클래스명 | 설명 |
LocalDate | 로컬 날짜 클래스 |
LocalTime | 로컬 시간 클래스 |
LocalDateTime | 로컬 날짜 및 시간 클래스(LocalDate + LocalTime) |
ZonedDateTime | 특정 타임존(TimeZone)의 날짜와 시간 클래스 |
Instant | 특정 시점의 Time-Stamp 클래스 |
(2) 날짜와 시간에 대한 정보 얻기
LocalDateTime/ZonedDateTime
isLeapYear()는 toLocalDate() 메소드로 LocalDate로 변환 후 사용
ZonedDateTime에서 제공하는 추가 메소드
(3) 날짜와 시간을 조작하기
빼기와 더하기 | 변경하기 |
빼기 – minus + 변수 (long) 의 형태 Ex) minusYears(long) 년 빼기 더하기 – plus + 변수 (long) 의 형태 |
with(TemporalAdjuster adjuster) 현재 날짜를 기준으로 상대적 날짜 리턴 TemporalAdjuster 객체는 아래 표에 있는 정적 메소드로 얻음 |
(4) 날짜와 시간을 비교하기
- 날짜와 시간의 양을 나타내는 클래스
Period | Duration |
년, 달, 일의 양을 나타내는 날짜 기준 클래스 | 시, 분, 초, 나노초의 양을 나타내는 시간 기준 클래스 |
- between() 메소드의 차이점
- Period와 Duration의 between() : 년, 달, 일, 초의 단순 차이를 리턴
- ChronoUnit의 between() : 전체 시간을 기준으로 차이를 리턴
(5) 파싱과 포맷팅
파싱(Parsing) 메소드 | 포맷팅(Formatting) 메소드 |
parsing : 변환 (Integer.pars~시작 메소드 = 변환 메소드) 주어진 문자열로 날짜와 시간을 생성 상황에 맞는 포맷 변환 같이 사용 |
날짜와 시간을 포맷팅된 문자열로 변환 |
728x90