[Java] Math 클래스

Bam·2024년 3월 10일
0

Java

목록 보기
54/98
post-thumbnail

Math 클래스

Math 클래스는 수학 연산에 관한 메소드들을 제공하는 클래스입니다. Math 클래스의 멤버들은 모두 정적 (static)이기에 객체 생성없이 Math.를 통해 바로 사용할 수 있습니다.

절대값이나 소수점 관련부터 삼각함수까지 다양한 메소드들이 있는데 주로 사용되는 몇 가지 메소드들만 간단하게 짚어보고 넘어가겠습니다. 역시 전체 메소드는 공식 문서를 참조해주세요.

절대값 abs()

abs()는 절대값을 취득하는 메소드입니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.abs(-1.234));
    }
}

소수점 올림, 버림, 반올림 ceil(), floor(), round()

ceil()은 소수점 올림, floor()는 소수점 버림, round()는 소수점 반올림을 수행한 결과를 반환하는 메소드입니다.

ceil()floor()double을 인수로 받아 double을 반환하고, round()는 인수로 float를 받으면 int로 double을 받으면 long을 반환합니다.

public class Main {
    public static void main(String[] args) {
        double num = 1.5;

        System.out.println(Math.ceil(num));
        System.out.println(Math.floor(num));
        System.out.println(Math.round(num));
    }
}

최대값, 최소값 구하기 max(), min()

max()는 인수로 전달된 더 큰 수를 min()은 더 작은 수를 반환합니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.max(1, 2));
        System.out.println(Math.min(1, 2));
    }
}

랜덤 숫자 취득 random()

random()은 무작위 숫자를 취득하는 메소드입니다. 결과로는 0.0 ~ 1.0사이의 무작위 수(난수)를 반환합니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.random());
    }
}

위 코드를 실행하면 위 사진처럼 엄청나게 긴 숫자가 나오게됩니다. 이 결과를 후처리를 통해서 원하는 값으로 만든 후 사용하게 됩니다.

예를 들어 1부터 50까지의 숫자 중 랜덤으로 1가지 숫자를 뽑고 싶다면 Math.random() 부분을 다음과 같이 고쳐줍니다.

(int)(Math.random() * 50) + 1

(int)(Math.random() * n) + 1를 이용해서 1 ~ n 까지의 랜덤한 숫자를 뽑아낼 수 있습니다.

0개의 댓글