Java
java.lang.Math & StrictMath Class
jamie.
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이라는 클래스를 사용하는 것이 훨씬 효과적임
반응형