///////
Search

Math, Calendar

날짜
2022/09/30
태그
자바

Math

Math클래스는 기본적인 수학계산에 유용한 메서드로 구성되어 있다.
Math클래스의 생성자는 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없다.
Math클래스에는 인스턴스 변수가 없고 static 메서드 + static 상수만 가지고 있기 때문에 인스턴스를 생성할 필요가 없다.

Math의 메서드

abs() - 절댓값

int i = Math.abs(-10); // i = 10
Plain Text
복사

ceil() - 올림

double i = Math.ceil(10.1); // i = 11;
Plain Text
복사

floor() - 버림

double i = Math.floor(10.8); // i = 10.0
Plain Text
복사

max() - 둘 중 큰 것

int i = Math.max(1,5); // i = 5
Plain Text
복사

min() - 둘 중 작은 것

int i = Math.max(1,5); // i = 1
Plain Text
복사

random()

0.0 ~ 1.0 범위의 임의의 double값을 반환
double d = Math.random() // 0.0 <= d <1.0
Plain Text
복사

예제

1~100 중 랜덤 값
int i = (int)(Math.random() * 100) + 1
Plain Text
복사

rint()

주어진 double값과 가장 가까운 정수값을 double형으로 반환
두 정수가 정가운데 있는 값(1.5, 2.5, 3.5 등)은 짝수 반환
double d = Math.rint(1.5); // d = 2.0; double d1 = Math.rint(4.5); // d = 4.0;
Plain Text
복사

round() - 소수점 첫째자리에서 반올림

long l = Math.round(1.2); // l = 1
Plain Text
복사

Calendar

Calendar는 추상클래스이기 때문에 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다.
Calendar cal = Calendar.getInstance();
Plain Text
복사

메서드

import java.util.*; class CalendarEx1 { public static void main(String[] args) { // 기본적으로 현재날짜와 시간으로 설정된다. Calendar today = Calendar.getInstance(); System.out.println("이 해의 년도 : " + today.get(Calendar.YEAR)); System.out.println("월(0~11, 0:1월): " + today.get(Calendar.MONTH)); // DATE와 DAY_OF_MONTH는 같다. System.out.println("이 달의 몇 일: " + today.get(Calendar.DATE)); System.out.println("이 달의 몇 일: " + today.get(Calendar.DAY_OF_MONTH)); System.out.println("이 해의 몇 일: " + today.get(Calendar.DAY_OF_YEAR)); System.out.println("요일(1~7, 1:일요일): " + today.get(Calendar.DAY_OF_WEEK)); // 1:일요일, 2:월요일, ... 7:토요일 System.out.println("시간(0~11): " + today.get(Calendar.HOUR)); System.out.println("시간(0~23): " + today.get(Calendar.HOUR_OF_DAY)); System.out.println("분(0~59): " + today.get(Calendar.MINUTE)); System.out.println("초(0~59): " + today.get(Calendar.SECOND)); System.out.println("이 달의 마지막 날: " + today.getActualMaximum(Calendar.DATE) ); // 이 달의 마지막 일을 찾는다. } }
Plain Text
복사

Date와 Calendar간의 변환

1.
Calendar를 Date로 변환
Calendar cal = Calendar.getInstance(); ... Date d = new Date(cal.getTimeInMillis()); // Date(long date)
Plain Text
복사
2.
Date를 Calendar로 변환
Date d = new Date(); ... Calendar cal = Calendar.getInstance(); cal.setTime(d)
Plain Text
복사