카테고리 없음

[도서/자바의 신] 부록 #5 java.lang.Math 클래스

yulee_to 2022. 12. 27. 23:28

자바의 신

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 


수학적인 계산을 위해서 꼭 필요한 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