자바 Math 클래스의 메소드 사용법
Math 클래스
java.lang 패키지에 속해있고 수학에서 자주 사용하는 절대값, 반올림, 내림, 제곱근 등을 쉽게 사용할 수 있도록 메소드의 형태로 제공하고 있다.
Math 클래스의 변수
2가지의 상수가 선언되어 있습니다.
- Math.E = 2.7182818284590452354 오일러의 수라 불리며 자연로그의 밑값
- Math.PI = 14159265358979323846 원주율 값
Math 클래스의 메소드
1.무작위 수 : random()
int val = (int)(Math.random() * 100);
int dice = (int)(Math.random() * 6) + 1;
- Math.random() 의 값은 0이상 1미만의 double 값을 반환한다.
- x100을 하면 0이상 100미만의 값이 반환되고 주사위를 표현하고 싶으면 x6을 하여 범위를 0이상 6미만으로 만들고 그 값의 +1을 하면 1~6의 값만 리턴이 된다.
2.절대값 : abs()
int a = 5
int b = 100
print(b-a)
print(Math.abs(a-b));
- 두 값의 차이를 구하라고 하면 b-a = 95 를 구해야하기에 큰수에서 작은수를 빼도록 해야 한다.
- Math.abs()을 a-b = -95에 절대값을 씌워서 95를 출력한다.
3.올림/내림/반올림 : floor() & ceil() & round()
Math.ceil(9.0) 9
Math.ceil(9.4) 10
Math.ceil(9.000001) 10
Math.floor(9.0) 9
Math.floor(9.9) 9
Math.round(11.0) 11
Math.round(11.4) 11
Math.round(11.5) 12
- ceil은 같거나 이보다 큰 수중 가장 작은 정수를 반환한다.
- floor은 같거나 이보다 작은 수중 가장 큰 정수를 반환한다.
- round는 반올림이다
4.최대,최소 값 : max() & min()
int max = 0
int min = 0
int a = 5
int b = 100
if(a > b){ max = a; min = b }
else { max = b; min = a }
max = Math.max(a, b);
min = Math.min(a, b);
- 두 수 또는 그 이상의 수에서 비교를 할 때 조건문을 써서 구하는 것보다 Math.max or Math.min 을 구하는게 코드의 수도 줄이고 눈에 잘 보인다.
5.제곱 & 제곱근 : pow() & sqrt()
Math.pow(2, 4);
Math.sqrt(25) -> 5
- pow(a, n) = a를 n제곱한 double 값 반환함. pow(2, 5) = 32.0이 반환되므로 정수형으로 사용하고 싶다면 (int) 타입 캐스팅이 필요
- sqrt(n) 는 제곱해서 n이 되는 수를 구할 때 사용 sqrt(25) = sqrt(5 * 5) = 5
6.삼각함수 : sin(), cos(), tan()
- 이런 메소드가 있다정도만 알면 될 것 같습니다.
결론
- 알고리즘 문제나 코딩 테스트에서 많이 사용하므로 외워두고 써먹는 것이 필수