본문 바로가기

Java

[Java] Math 클래스란?

728x90
반응형

업무를 할 때 반올림을 하기 위해 round() 메서드를 자주 활용하는데, Math 클래스는 무엇인지 제공되는 함수는 어떤 것들이 있는지 궁금해져서 정리해보기로 했다. 

 

Math 클래스는 Java의 표준 라이브러리에 포함된 유틸리티 클래스이다. 

수학 연산을 수행하기 위해서 다양한 메서드를 제공하고, 'Java.lang' 패키지에 속해 있기 때문에 별도의 import 없이 사용할 수 있다.

 

Math 클래스의 주요 기능 및 메서드를 살펴보자.


주요 기능 및 메서드

  1. 기본 산술 연산
    • abs(int a), abs(double a) 등: 절대값을 반환한다.
    • max(int a, int b), min(int a, int b): 두 값 중 최대값 또는 최소값을 반환한다.
  2. 지수와 로그
    • pow(double a, double b): a의 b제곱을 반환한다.
    • sqrt(double a): a의 제곱근을 반환한다.
    • exp(double a): 자연 상수 e의 a제곱을 반환한다.
    • log(double a): 자연 로그를 반환한다.
    • log10(double a): 10을 밑으로 하는 로그를 반환한다.
  3. 삼각 함수
    • sin(double a), cos(double a), tan(double a): 각도의 사인, 코사인, 탄젠트를 반환한다.
    • asin(double a), acos(double a), atan(double a): 아크사인, 아크코사인, 아크탄젠트를 반환한다.
  4. 반올림
    • ceil(double a): 올림 값을 반환한다.
    • floor(double a): 내림 값을 반환한다.
    • round(float a), round(double a): 반올림 값을 반환한다.
  5. 난수 생성
    • random(): 0.0 이상 1.0 미만의 난수를 반환한다.

사용 예시

public class MathExample {
    public static void main(String[] args) {
        // 절대값 구하기
        int absValue = Math.abs(-10);
        System.out.println("절대값: " + absValue);

        // 최대값, 최소값 구하기
        int maxValue = Math.max(5, 10);
        int minValue = Math.min(5, 10);
        System.out.println("최대값: " + maxValue);
        System.out.println("최소값: " + minValue);

        // 거듭제곱, 제곱근 구하기
        double power = Math.pow(2, 3);
        double squareRoot = Math.sqrt(16);
        System.out.println("2의 3제곱: " + power);
        System.out.println("16의 제곱근: " + squareRoot);

        // 삼각 함수 사용
        double sine = Math.sin(Math.PI / 2);
        System.out.println("sin(π/2): " + sine);
        
        // 올림, 내림, 반올림 
        double value1 = 5.3;
        double value2 = 5.7;

        // 올림값 구하기
        double ceilValue1 = Math.ceil(value1);
        double ceilValue2 = Math.ceil(value2);
        System.out.println("ceil(" + value1 + "): " + ceilValue1);
        System.out.println("ceil(" + value2 + "): " + ceilValue2);

        // 내림값 구하기
        double floorValue1 = Math.floor(value1);
        double floorValue2 = Math.floor(value2);
        System.out.println("floor(" + value1 + "): " + floorValue1);
        System.out.println("floor(" + value2 + "): " + floorValue2);

        // 반올림값 구하기
        long roundValue1 = Math.round(value1);
        long roundValue2 = Math.round(value2);
        System.out.println("round(" + value1 + "): " + roundValue1);
        System.out.println("round(" + value2 + "): " + roundValue2);

        // float 값을 반올림할 때
        float value3 = 5.3f;
        float value4 = 5.7f;
        int roundValue3 = Math.round(value3);
        int roundValue4 = Math.round(value4);
        System.out.println("round(" + value3 + "f): " + roundValue3);
        System.out.println("round(" + value4 + "f): " + roundValue4);

        // 난수 생성
        double randomValue = Math.random();
        System.out.println("랜덤 값: " + randomValue);
    }
}

 

수학 연산을 간편하게 수행할 수 있도록 도와주는 Math 클래스에 대해 알아보았다. 

728x90
반응형