Java Study
TIL - Java Math 관련 정리
초코너무조코
2024. 12. 23. 11:25
728x90
목차
1. 기본 산술 연산
- Math.abs(x)
절댓값을 반환.- int, long, float, double 타입 모두 지원.
System.out.println(Math.abs(-10)); // 출력: 10 - Math.max(a, b) / Math.min(a, b)
두 값 중 최대/최소값을 반환.System.out.println(Math.max(10, 20)); // 출력: 20 System.out.println(Math.min(10, 20)); // 출력: 10 - Math.signum(x)
숫자의 부호를 반환:- 양수 → 1.0, 음수 → -1.0, 0 → 0.0.
System.out.println(Math.signum(-5.5)); // 출력: -1.0
2. 제곱, 제곱근, 거듭제곱
- Math.pow(a, b)
a의 b 제곱 값을 반환.System.out.println(Math.pow(2, 3)); // 출력: 8.0 - Math.sqrt(x)
제곱근을 반환.System.out.println(Math.sqrt(16)); // 출력: 4.0 - Math.cbrt(x)
세제곱근을 반환.
System.out.println(Math.cbrt(27)); // 출력: 3.0
- Math.hypot(x, y)
피타고라스 정리로 두 값의 대각선 길이를 계산.
System.out.println(Math.hypot(3, 4)); // 출력: 5.0
3. 반올림, 올림, 내림
- Math.round(x)
반올림. long 또는 int 반환.System.out.println(Math.round(4.5)); // 출력: 5 System.out.println(Math.round(4.4)); // 출력: 4 - Math.ceil(x)
올림. 결과는 항상 double.System.out.println(Math.ceil(4.1)); // 출력: 5.0 - Math.floor(x)
내림. 결과는 항상 double.System.out.println(Math.floor(4.9)); // 출력: 4.0 - Math.rint(x)
가장 가까운 정수를 반환 (반올림).System.out.println(Math.rint(4.5)); // 출력: 4.0 (짝수로 반올림) System.out.println(Math.rint(5.5)); // 출력: 6.0
4. 삼각 함수
- Math.sin(x) / Math.cos(x) / Math.tan(x)
각도를 라디안 단위로 받음.System.out.println(Math.sin(Math.PI / 2)); // 출력: 1.0 System.out.println(Math.cos(0)); // 출력: 1.0 System.out.println(Math.tan(Math.PI / 4)); // 출력: 1.0 - Math.asin(x) / Math.acos(x) / Math.atan(x)
역삼각 함수. 반환값은 라디안.System.out.println(Math.asin(1)); // 출력: 1.5707963267948966 (PI/2) - Math.atan2(y, x)
tan−1(y/x)\tan^{-1}(y / x) 계산 (라디안).System.out.println(Math.atan2(1, 1)); // 출력: 0.7853981633974483 (PI/4)
5. 로그 함수
- Math.log(x)
자연 로그 ln(x)\ln(x).System.out.println(Math.log(Math.E)); // 출력: 1.0 - Math.log10(x)
밑이 10인 로그.System.out.println(Math.log10(100)); // 출력: 2.0 - Math.exp(x)
exe^x 계산.System.out.println(Math.exp(1)); // 출력: 2.718281828459045 (E 값)
6. 랜덤 생성
- Math.random()
0.0 이상 1.0 미만의 랜덤한 double 값 반환.System.out.println(Math.random()); // 출력: 0.0 ~ 1.0 사이의 랜덤값
7. 기타 유용한 메서드
- Math.PI
원주율 (3.141592...).System.out.println(Math.PI); - Math.E
자연로그의 밑 ee (2.718...).System.out.println(Math.E); - Math.toRadians(degrees) / Math.toDegrees(radians)
각도 변환 (라디안 ↔ 도).System.out.println(Math.toRadians(180)); // 출력: 3.141592653589793 System.out.println(Math.toDegrees(Math.PI)); // 출력: 180.0
결론
Math 클래스는 자바에서 수학 연산을 처리할 때 없어서는 안 될 필수 도구야. 중요한 건, 메서드들이 전부 정적(static)이라는 점!
그래서 언제든 객체 생성 없이 Math.메서드() 형태로 호출 가능해. 😊

우리는 수학은 자바 Math 클래스를 시키도록 하자 ㅋㅋ
728x90