Java 입문 | java.lang 패키지 | Math 클래스

Math 클래스는 기하학 삼각법, 부동 수수점과 같은 수학과 관련된 메소드를 제공한다. Math 클래스는 final 클래스 이기 때문에 상속이 불가능하다. Math 클래스는 생성자는 private 접근 제한자로 선언되어 있어 인스턴스를 생성할 수 없고, 맴버 변수와 메소드는 모두 static으로 선언되어 있다.

Math 클래스 변수

변수 설명
E 자연 로그 상수(e: 2.718…) 값
PI 원주율(3.14…) 값

Math 주요 메소드

메소드 설명
static int abs(int a) a의 절대값을 int로 반환한다.
static long abs(long a) a의 절대값을 long로 반환한다.
static float abs(float a) a의 절대값을 float로 반환한다.
static double abs(double a) a의 절대값을 double로 반환한다.
static double ceil(double a) a의 소수점 이하를 올림을 한 값을 반환한다.
static double floor(double a) a의 소수점 이하를 버림을 한 값을 반환한다.
static int max(int a, int b) a, b 값 중 큰 값을 int로 반환한다.
static long max(long a, long b) a, b 값 중 큰 값을 long로 반환한다.
static float max(float a, float b) a, b 값 중 큰 값을 float로 반환한다.
static double max(double a, double b) a, b 값 중 큰 값을 double로 반환한다.
static int min(int a, int b) a, b 값 중 작은 값을 int로 반환한다.
static long min(long a, long b) a, b 값 중 작은 값을 long로 반환한다.
static float min(float a, float b) a, b 값 중 작은 값을 float로 반환한다.
static double min(double a, double b) a, b 값 중 작은 값을 double로 반환한다.
static double random() 임의의 값을 반환한다.
static double round(double a) a의 소수점 이하를 반올림을 한 값을 반환한다.
static double rint(double a) a에 가장 가까운 정수를 반환한다.
static double sin(double a) a의 싸인 값을 반환한다.
static double cos(double a) a의 코싸인 값을 반환한다.
static double tan(double a) a의 탄젠트 값을 반환한다.
static double sqrt(double a) a의 제곱근 값을 반환한다.

Math 예제

다음 프로그램은 Math 클래스의 메소드를 사용한 예이다.

package com.devkuma.tutorial.javalang;

public class Mathematics {

    public static void main(String[] args) {
        System.out.println("abs(10.6) :" + Math.abs(10.6));
        System.out.println("ceil(10.3) : " + Math.ceil(10.3));
        System.out.println("floor(10.3) : " + Math.floor(10.3));
        System.out.println("max(3, 5) : " + Math.max(3, 5));
        System.out.println("min(3, 5) : " + Math.min(3, 5));
        System.out.println("random() : " + Math.random());
        System.out.println("round(10.5) : " + Math.round(10.5));
        System.out.println("rint(10.3) : " + Math.rint(10.3));
    }
}

실행한 결과는 아래와 같다.

abs(10.6) :10.6
ceil(10.3) : 11.0
floor(10.3) : 10.0
max(3, 5) : 5
min(3, 5) : 3
random() : 0.3319476750319902
round(10.5) : 11
rint(10.3) : 10.0