✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다.
수학적인 계산을 위해서 꼭 필요한 Math 클래스
자바에서는 수학을 계산하는 Math라는 클래스를 제공한다.
JDK 1.0에서부터는 Math를, JDK 1.3에서부터는 StrictMath클래스도 함께 제공한다.
StrictMath는 어떤 OS나 어떤 시스템 아키텍처에서 수행되든지 동일한 값을 리턴해야 한다는 기준에 의해 만들어진 클래스고 Math는 시스템에 따라 결과가 달라질 수 있는 클래스이다. 하지만 대부분의 Math 클래스 내부는 StrictMath의 메소드를 호출하도록 되어 있고, StrictMath 클래스에 선언된 대부분의 메소드는 native로 선언되어 있다.
Math 클래스에 선언되어 있는 상수에는 double타입인 E와 PI가 있는데 E는 자연로그 알고리즘에 기반하여 지수인 e에 근사한 값을 제공, PI는 원주율을 의미한다.
절대값 및 부호 관련 메소드
메소드 이름 | 용도 | 매개변수 타입 | 리턴 타입 |
abs() | 절대값 계산 | int | int |
long | long | ||
float | float | ||
double | double | ||
signum() | 부호 확인 양수는 1.0, 음수는 -1.0, 0은 0을리턴 |
float | float |
double | double |
최대/최소값 관련 메소드
메소드 이름 | 용도 | 매개 변수 타입 | 리턴 타입 |
min() | 작은 값 리턴 | int, int | int |
long, long | long | ||
float, float | float | ||
double, double | double | ||
max() | 큰 값 리턴 | int, int | int |
long, long | long | ||
float, float | float | ||
double, double | double |
올림/버림 관련 메소드
메소드 이름 | 용도 | 매개 변수 타입 | 리턴 타입 |
round() | 반올림 | float | int |
double | long | ||
rint() | 반올림 | double | double |
ceil() | 올림 | double | double |
floor() | 버림 | double | double |
제곱과 제곱근 관련 메소드
메소드 이름 | 용도 | 매개 변수 타입 | 리턴 타입 |
sqrt() | 매개 변수의 제곱근을 구함 | double | double |
cbrt() | 매개 변수의 세제곱근을 구함 | double | double |
pow() | 첫번째 매개 변수의 두번째 매개 변수 만큼의 제곱 값을 구함 | double, double | double |
scalb() | 첫번째 매개 변수 * 2 ^두번째 매개 변수 값을 구함 | float, int | float |
saclb() | double, int | double | |
hypot() | 첫번째 매개 변수의 제곱 + 두번째 매개 변수의 제곱의 제곱근을 구함 | double, double | double |
삼각 함수 관련 메소드
메소드 이름 | 용도 | 매개 변수 타입 | 리턴 타입 |
toRadians() | 각도를 라디안 값으로 변환 | double | double |
toDegrees() | 라디안 값을 각도로 변환 | double | double |
sin() | 사인 값 | double | double |
cos() | 코사인 값 | double | double |
tan() | 탄젠트 값 | double | double |
삼각함수의 맥변수로 넘어가는 값은 모두 라디안 값으로 제공되어야 한다. 따라서, 360도 기준으로 되어 있는 값은 항상 toRadians()메소드를 이용해 각도를 라디안 값으로 변경 후 삼각함수 메소드를 사용해야 한다.
728x90