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