Math클래스?
Math클래스
는 이름에서 수학 냄새가 나듯이 수학계산에 유용한 메서드로 구성되어 있고
생성자의 접근 데어자가 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없다.
모든 메서드가 static이며 인스턴스 변수가 하나도 없고 상수만 2개 존재하기 때문이다.
public static final double E = 2.7182818284590452354; // 자연로그의 밑
public static final double PI = 3.14159265358979323846; // 원주율
StrictMath클래스
Math클래스는 성능을 최대로 뽑기 위해 JVM이 설치된 OS의 메서드를 호출해서 사용하는데
OS마다 반올림의 처리방법이 다를수 있다, 이 때문에 컴퓨터에 따라 처리결과가 다를 수 있다.
이를 해결하고자 성능은 어느정도 포기했지만 어떤 OS에서 실행되어도 같은 결과를
얻을 수 있게 만든것이 StrictMath클래스
이다.
Math클래스의 메서드
메서드 / 설명 | 예 제 | 결 과 |
static double abs(double a) static float abs(float f) static int abs(int f) static long abs(long f) |
int i = Math.abs(-10); double d = Math.abd(-10.0); |
i = 10 d = 10.0 |
주어진 값의 정대값을 반환한다. | ||
static double ecil(double a) | double d = Math.ceil(10.1); double d2 = Math.ceil(-10.1); double d3 = Math.ceil(10.000015); |
d = 11.0 d2 = 10.0 d3 = 11.0 |
주어진 값을 올림하여 반환한다. | ||
static double floor(double a) | double d = Math.floor(10.8); double d2 = Math.floor(-10.8); |
d = 10.0 d2 = -11.0 |
주어진 값을 버림하여 반환한다. | ||
static double max(double a, double b) static float max(float a, float b) static int max(int a, int b) static long max(long a, long b) |
double d = Math.max(9.5, 9.50001); int i = Math.max(0, -1); |
d = 9.50001 i = 0 |
주어진 두 값을 비교하여 큰 쪽을 반환한다. | ||
static double min(double a, double b) static float min(float a, float b) static int min(int a, int b) static long min(long a, long b) |
double d = Math.min(9.5, 9.50001); int i = Math.min(0, -1); |
d = 9.5 i = -1 |
주어진 두 값을 비교하여 작은 쪽을 반환한다. | ||
static double random() | double d = Math.random(); int i = (int)(Math.random()*10)+1 |
0.0 <= d < 1.0 1<= i <11 |
0.0~1.0범위의 임의의 double값을 반환한다. (1.0은 범위에 포함되지 않는다.) |
||
static double rint(double a) | double d = Math.rint(1.2); double d2 = Math.rint(2.6); double d3 = Math.rint(3.5); double d4 = Math.rint(4.5); double d5 = Math.rint(-1.5); double d6 = Math.rint(-1.4); |
d = 1.0 d2 = 3.0 d3 = 4.0 d4 = 4.0 d5 = -2.0 d6 = -1 |
주어진 double값과 가장 가까운 정수값을 double형으로 반환한다. 단, 두 정수의 정가운데 있는 값 (1.5, 2.5, 3.5 등)은 짝수로 반환 |
||
static long round(double a) static long roubd(float a) |
double l = Math.round(1.2); double l2 = Math.round(2.6); double l3 = Math.round(3.5); double l4 = Math.round(-1.1); double l5 = Math.round(-1.8); double d = 90.7552; double d2 = Math.round(d*100)/100.0; |
l = 1 l2 = 3 l3 = 4 l4 = -1 l5 = -2 d = 90.7552 d2 = 90.76 |
소수점 첫째자리에서 반올림한 정수값(long)을 반환한다. 매개변수의 값이 음수인 경우 |
댓글