본문 바로가기
Development/Java

java Math 사용법~

by 버들도령 2019. 6. 14.
728x90

6장 중요 클래스

 

6-7. java.lang.Math 클래스

1> Math 클래스란?

    1. 수학적 계산을 하기위한 메소드의 집합
    2. Math 클래스의 모든 메서드는 static 메소드 => Math.메소드() 형식으로 호출됨
    3. private 생성자이므로 객채생성 할수 없다. 즉, new Math() 생성 안됨.

2> Math 클래스의 메서드

1) 올림/버림/반올림

① ceil() : 인수로 들어온 숫자와 같거나 큰정수 중에서 가까운 정수를 구한다.
   ex) ceil(-2.5) e -2
② floor() : 인수로 들어온 숫자와 같거나 작은 정수 중에서 가까운 정수를 구한다.(버림)
   ex) floor(-2.5) e -3
③ round() : 인수로 들어온 숫자를 반올림한다.
   ex) round(-2.5) e -2

2) 최대/최소

① max() : 인수를 두 개를 받아 두 인수 중 큰 숫자를 구해준다.
② min() : 인수를 두 개를 받아 두 인수 중 작은 숫자를 구해준다.

3) 삼각 함수

① sin() : 인수의 사인값을 구해준다.
② cos() : 인수의 코사인값을 구해준다.
③ tan() : 인수의 탄젠트 값을 구해준다.
※ 인수는 라디안 단위, 따라서 각도(디그리)는 라디안으로 변환한 뒤 인수로 넘겨준다.  --> toRadians() 메소드 이용.

4) 기타

① abs() : 인수의 절대값을 구해준다.
② sqrt() ; 인수의 제곱근을 구해준다.
③ random() : 0과 같거나 크고 1보다 작은 난수를 발생.

3> Math 클래스의 예

1. MathTest.java

public class MathTest {

public static void main(String[] args) {

double result, result_sin, result_cos, result_tan;

result = Math.abs(3.5);
System.out.println(result);

result = Math.abs(-3.5);
System.out.println(result);

result = Math.ceil(3.5);
System.out.println(result);

result = Math.ceil(-3.5);
System.out.println(result);

result = Math.floor(3.5);
System.out.println(result);

result = Math.floor(-3.5);
System.out.println(result);

result = Math.round(3.5);
System.out.println(result);

result = Math.round(-3.5);
System.out.println(result);

result = Math.min(-3.5, 3.5);
System.out.println(result);

result = Math.max(-3.5, 3.5);
System.out.println(result);

result = Math.sqrt(25);
System.out.println(result);

//삼각함수 출력. 60도만 알아본다.
//삼각함수 관련 메소드들은 인수로 라디안 값을 받기 때문에 각도를 toRadians() 를 이용해서 라디안 값으로 변환한뒤 메소드에 넘긴다.
// "\t" 는 Tab 키를 말한다.

result_sin = Math.sin(Math.toRadians(60.0));
result_cos = Math.cos(Math.toRadians(60.0));
result_tan = Math.tan(Math.toRadians(60.0));
System.out.println("PI : \t" + result_sin + "\t" + result_cos + "\t" + result_tan);

}

}


<< 실행 결과 >>

3.5
3.5
4.0
-3.0
3.0
-4.0
4.0
-3.0
-3.5
3.5
5.0
PI : 0.8660254037844386 0.5000000000000001 1.7320508075688767

 
728x90

댓글