728x90
반응형

1. Math 클래스

자바에서 수학적 연산을 다루는 다양한 정적 메서드들을 제공한다.

이 클래스는 인스턴스화 할 수 없고, 모든 메서드는 static으로 제공되기 때문에 객체를 생성할 필요 없이 바로 사용할 수 있다.

2. 주요 메서드

  • abs()
    • 절대값을 반환합니다.
  • max()
    • 두 값 중 더 큰 값을 반환합니다.
  • min()
    • 두 값 중 더 작은 값을 반환합니다.
  • pow()
    • 첫 번째 인자(밑)를 두 번째 인자(지수)의 제곱으로 반환합니다.
  • sqrt()
    • 제곱근을 반환합니다.
  • random()
    • 0.0 이상 1.0 미만의 임의의 실수 값을 반환합니다.
  • round()
    • 소수점을 반올림하여 가장 가까운 정수를 반환합니다.
  • ceil()
    • 주어진 숫자보다 크거나 같은 정수 중 가장 작은 값을 반환합니다.
  • floor()
    • 주어진 숫자보다 작거나 같은 정수 중 가장 큰 값을 반환합니다.
  • toDegrees()
    • 라디안을 각도로 변환합니다.
  • toRadians()
    • 각도를 라디안으로 변환합니다.
  • sin(), cos(), tan()
    • 삼각 함수들을 제공합니다. (각도는 라디안 단위)

3. Math 클래스 사용 예시

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

        double powerValue = Math.pow(3, 2);  // 제곱
        System.out.println("3의 제곱: " + powerValue);

        double sqrtValue = Math.sqrt(25);  // 제곱근
        System.out.println("25의 제곱근: " + sqrtValue);

        double randomValue = Math.random();  // 랜덤 값
        System.out.println("랜덤 값: " + randomValue);

        long roundValue = Math.round(4.6);  // 반올림
        System.out.println("4.6 반올림: " + roundValue);

        double ceilValue = Math.ceil(3.1);  // 올림
        System.out.println("3.1 올림: " + ceilValue);

        double floorValue = Math.floor(3.7);  // 내림
        System.out.println("3.7 내림: " + floorValue);

        double tanValue = Math.tan(Math.toRadians(45));  // 탄젠트
        System.out.println("tan(45°): " + tanValue);
    }
}

4. Math 클래스 활용 예시

  • 임의의 숫자 생성 : Math.random()을 사용하여 난수를 생성할 수 있습니다.
int randomNumber = (int)(Math.random() * 100);  // 0부터 99까지 난수
System.out.println(randomNumber);
  • 최댓값과 최솟값 찾기 : Math.max()와 Math.min()을 사용하여 최댓값과 최솟값을 쉽게 찾을 수 있습니다.
int maxValue = Math.max(50, 100);  // 100
int minValue = Math.min(50, 100);  // 50
System.out.println("Max: " + maxValue + ", Min: " + minValue);
728x90
반응형

'이것 저것 개발 공부 > JAVA' 카테고리의 다른 글

[Java] 연산자  (0) 2025.02.26
[Java] 변수  (0) 2025.02.26
[JAVA] StringBuilder / StringBuffer 클래스  (1) 2025.02.13
[JAVA] Wrapper 클래스  (0) 2025.02.13
[JAVA] Object 클래스  (0) 2025.02.13

+ Recent posts