-
java.lang.Math & StrictMath ClassJava 2020. 1. 7. 20:25반응형
java.lang.Math
수학 계산을 하는 클래스
java.lang.Math vs java.lang.StrictMath
Math
JDK 1.0 ~
대부분 StrictMath 클래스의 메서드를 선언하게 되어 있음
StrictMath
JDK 1.3 ~
어떤 OS나 어떤 시스템 아키텍쳐에서 수행되든 간에 동일한 값을 리턴(Math와 차이가 나기도)
대부분의 메서드는 자바 코드가 아닌 native로 선언
Math Class의 상수
/* 자연 로그 알고리즘에 기반하여 지수 e의 근사 값을 제공 * JDK 1.8 기준 2.718281828459045 */ double E /* 원주율(파이) 값을 제공 * JDK 1.8 기준 3.141592653589793 */ double PI
Math Class의 Method
-
절대값/부호 : abs, signum
-
최대 최소 : max, min
-
올림/버림 : ceil, floor, round, rint
-
제곱/제곱근 : pow, scalb, sqrt, cbrt, hypot
-
삼각 함수 : toRadians, toDegrees, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh
-
로그 : exp, getExponent, expm1, log, log1p, log10
-
난수 : random
-
소수 : ulp, nextAfter, nextUp, copySign
-
기타 : IEEEremainder
절대값/부호
// 절대값 int abs(int) long abs(long) float abs(float) double abs(double) // 부호 - 양수는 1.0, 음수는 -1.0, 0은 0 float signum(float) double signum(double)
최대/최소
// 작은 값 int min(int, int) long min(long, long) float min(float, float) double min(double, double) // 큰 값 int max(int, int) long max(long, long) float max(float, float) double max(double, double)
올림/버림
// 반올림 int round(float) long round(double) double rint(double) // 올림 double ceil(double) // 버림 double floor(double)
제곱/제곱근
// 제곱근 double sqrt(double) // 세제곱근 double cbrt(double) // 첫 번째 매개변수의 두 번째 매개변수만큼의 제곱 double pow(double, double) // 첫 번째 매개변수 * (2의 두번째 매개변수만큼의 제곱) float scalb(float, int) double scalb(double, int) // (첫 번째 매개변수의 제곱 + 두 번째 매개변수의 제곱)의 제곱근 double hypot(double, double)
삼각 함수
최대한의 근사치로 나타남(딱 떨어지는 값은 아님)
// 각도를 래디안 값으로 double toRadians(double) // 래디안 값을 각도로 double toDegrees(double) // 사인 값 double sin(double) // 코사인 값 double cos(double) // 탄젠트 값 double tan(double)
랜덤
java.util.Random이라는 클래스를 사용하는 것이 훨씬 효과적임
반응형'Java' 카테고리의 다른 글
Collection (0) 2020.01.07 Generic (0) 2020.01.07 java.lang.System Class (0) 2020.01.07 java.lang 기본 자료형 타입 클래스 (0) 2020.01.07 java.lang 패키지 구조 (0) 2020.01.07 -