[java] Math 클래스

1. Math 클래스란?

  • Math 클래스는 java.lang 패키지에 포함되어 제공된다.
  • Math 클래스는 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스이다.
  • Math 클래스의 모든 메소드는 static method이므로, 객체를 생성하지 않고도 바로 사용할 수 있습니다.

  • Scanner 클래스는 문자뿐 아니라 정수, 실수 등 다른 자료형도 읽을 수 있다.
  • 또한 콘솔 화면뿐 아니라 파일이나 문자열생성자의 매개변수로 받아 자료를 읽어올 수 있다.
  • 여러 대상에서 자료를 읽는 Scanner 클래스의 생성자는 굉장히 다양하다.




2. 대표 메소드


2-1. max(), min()

max()

  • max() 함수는 전달된 두 값을 비교하여 그중에서 큰 값을 반환하는 함수이다.
  • int, long, double, float 형태의 숫자를 비교 가능하다.
Math.max(9, 10)    // 10
Math.max(3.14, 3.141592)    // 3.141592




min()

  • min() 함수는 전달된 두 값을 비교하여 그중에서 작은 값을 반환하는 함수이다.
  • int, long, double, float 형태의 숫자를 비교 가능하다.
Math.min(9, 10)    // 9
Math.min(6.13, 6.13123)    // 6.13





2-2. floor(), ceil(), round()

floor()

  • floor() 함수는 소수점 아래의 숫자를 다 버리는 함수이다.
  • ceil()과 반대되는 역할을 한다.
Math.floor(9.0)    // 9
Math.floor(9.3)    // 9
Math.floor(10.9)    // 10




ceil()

  • ceil() 함수는 소수점 아래에 숫자가 있으면 소수점 아래를 다 버리고 앞의 정수에 1을 더해주는 함수이다.
  • ceil 은 ‘천장을 만들다’ 라는 뜻이 있는데, 소수점 아래가 있으면 무조건 올려 버리는 의미로 이해하면 된다.
Math.ceil(9.6)    // 10
Math.ceil(10.0)    // 10
Math.ceil(10.1)    // 11
Math.ceil(10.000001)    // 11




round()

  • round() 함수는 전달받은 실수를 소수점 첫째 자리에서 반올림 하는 함수이다.
  • 0.5 이상은 1로 올리고 그 외는 0 으로 처리한다.
Math.round(10.0)    // 10
Math.round(10.4)    // 10
Math.round(10.5)    // 11





2-3. random()

random()

  • random() 함수는 0.0 이상 1.0 미만의 범위에서 임의의 double형 값을 하나 생성 하는 함수이다.
  • 내부적으로 java.util 패키지의 Random 클래스를 사용한 의사 난수 발생기
    (pseudorandom-number generator)를 사용하여 임의의 수를 생성한다.
  • java.util 패키지에 포함된 Random 클래스의 nextInt() 메소드를 사용해도 난수를 생성할 수 있다.
Math.random()    // 0.20372921593460602
Math.random()    // 0.9987773014035501
Math.random()    // 0.46438369034509486





2-4. abs()

abs()

  • abs() 함수는 전달된 값이 음수이면 그 값의 절댓값을 반환 하며, 전달된 값이 양수이면 전달된 값을 그대로 반환한다.
  • 문자형 숫자 도 절대값이 적용된다.
Math.abs(10)    // 10
Math.abs(-10)    // 10
Math.abs('-1') = 1
Math.abs('ABC') = NaN
Math.abs(null) = 0





2-5. pow(),sqrt()

pow()

  • pow() 함수는 전달된 두 개의 double형 값을 가지고 제곱 연산을 수행 하는 함수이다.
  • Math.pow(a, n) = aⁿ
Math.pow(5, 2)    // 25
Math.pow(2, 3)    // 8
Math.pow(2, 10)    // 1024




sqrt()

  • sqrt() 함수는 전달된 double형 값의 제곱근 값을 반환 하는 함수이다.
Math.sqrt(25)    // 5
Math.sqrt(144)    // 12
Math.sqrt(100)    // 10





2-6. sin(), cos(), tan()

자바에서는 삼각 함수와 관련된 다양한 연산을 간편하게 수행할 수 있도록 많은 삼각 함수를 제공하고 있다.

  • asin(), acos(), atan(), atan2(), sinh(), cosh(), tanh()



sin()

  • sin() 함수는 전달된 라디언 값의 사인값을 반환하는 함수이다.
  • 전달하는 인자(라디언 값)에는 double형 사용!
Math.sin(90.0)    // 0.8939966636005579 ((90.0 라디안의 sin 값))
Math.sin(Math.toRadians(90.0))    // 1.0 (90도의 sin 값)




cos()

  • cos() 함수는 전달된 라디언 값의 코사인값을 반환하는 함수이다.
  • 전달하는 인자(라디언 값)에는 double형 사용!
Math.cos(180.0)    // -0.5984600690578581 (180.0 라디안의 cos 값)
Math.cos(Math.toRadians(180.0))    // -1.0 ((180도의 cos 값))




tan()

  • tan() 함수는 전달된 라디언 값의 탄제트값을 반환하는 함수이다.
  • 전달하는 인자(라디언 값)에는 double형 사용!
Math.tan(180.0)    // 1.3386902103511544E8 (180.0 라디안의 tan 값)
Math.tan(Math.toRadians(180.0))    // 0.0 (180도의 tan 값)




2-7. toRadians()

toRadians()

  • toRadians() 함수는 매개변수에 전달된 일반각(0 ~ 360°)을 라디언 값으로 반환 하는 함수이다.
  • 전달하는 인자(일반각)에는 double형 사용!
Math.toRadians(90.0)    // 1.5707963267948966





참고링크 |

Categories:

Updated:

Leave a comment