Notice
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

DeFacto-Standard IT

[Java] Math Class 본문

Java/Useful Classes

[Java] Math Class

defacto standard 2017. 10. 2. 17:04

수학계산에 필요한 메서드와 기타 숫자를 제어할 수 있는 메서드가 정의된 클래스.


Math클래스는 생성자가 private으로 인스턴스화 할 수 없다.

이유는 멤버변수가 없기 때문에 인스턴스할 필요 없이 메서드만 사용하면 되기 때문이다.


메서드

예제

결과

static double abs(double a)

static float abs(float f)

static int abs(int f)

static long abs(long l)

int i = Math.abs(-10);

double d = Math.abs(-10.0);

i = 10

d = 10.0

인자의 절대값 반환

static double ceil(double a)

double d = Math.ceil(10.1);

double d2 = Math.ceil(-10.1);

double d3 = Math.ceil(10.0000015);

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/min(double a, double b)

static float max/min(float a, float b)

static int max/min(int a, int b)

static long max/min(long a, long b)

double d1 = Math.max(9.5, 9.50001);

int i1 = Math.max(0, -1);

double d2 = Math.min(9.5, 9.50001);

int i2 = Math.min(0, -1);

d1 = 9.50001

i1 = 0

d2 = 9.5

i2 = -1

두 값을 비교하여 큰 값/작은 값 반환

static double random()

double d = Math.random();

int i = (int)(Math.random()*10)+1

d = 0.0 ~ 1.0 의 실수 (1.0은 포함 x)

i = 1~10의 정수

0.0이상 1.0미만의 double값 반환.

0.0은 포함하나, 1.0은 포함하지 않음

static double rint(double a)

double d = Math.rint(5.55);

double d2 = Math.rint(5.11);

double d3 = Math.rint(-5.55);

double d4 = Math.rint(-5.11);

d = 6.0

d2 = 5.0

d3 = -6.0

d4 = -5.0

가장 가까운 정수값을 double형으로 반환

static long round(double a)

static long round(float a)

long l = Math.round(5.55);

long l2 = Math.round(5.11);

long l3 = Math.round(-5.55);

long l4 = Math.round(-5.11);

double d = 90.7552;

double d2 = Math.round(d*100)/100.0;

l = 6

l2 = 5

l3 = -6

l4 = -5

d = 90.7552

d2 = 90.76

소수점 첫째자리에서 반올림한 정수값(long) 반환.


만약 소수점 n번째 자리에서 반올림한 값을 얻으려면 10의 n제곱으로 곱한 후, 다시 곱한 수로 나눠주기만 하면 된다.

ex) 90.7552값을 소수점 셋째 자리에서 반올림하고 싶은 경우

1. 90.7552 * 100 = 9075.52

2. round(9075.52) = 9076

3. 9076/100 = 90.76




'Java > Useful Classes' 카테고리의 다른 글

[Java] Wrapper Class  (0) 2017.10.02
[Java] StringBuffer Class  (0) 2017.10.02
[Java] String Class  (0) 2017.10.02
[Java] Object Class  (0) 2017.10.02
Comments