기본적인 수학계산에 유용한 메서드로 구성되어 있다.
Math클래스의 생성자는 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없도록 되어 있다. 왜냐하면 클래스 내에 인스턴스 변수가 하나도 없어서 인스턴스를 생성할 필요가 없기 때문이다.
올림
Math.ceil();
버림
Math.floor();
반올림
round()
Math.round();
round()는 항상 소수점 첫째 자리에서 반올림을 해서 정수값(long)을 결과로 돌려준다.
원하는 자리 수에서 반올림된 값을 얻기 위해서는 10n으로 곱한 후, 다시 곱한 수로 나눠주면 된다.
1. 원래 값에 100을 곱한다.
90.7552 * 100 → 9075.52
2. 위의 결과에 Math.round()를 사용한다.
Math.round(9075.52) → 9076
3. 위의 결과를 다시 100.0으로 나눈다.
9076 / 100.0 → 90.76
// 9076 / 100 → 90
rint()
Math.rint();
rint()는 주어진 double값과 가장 가까운 정수값을 double형을 반환한다. 두 정수의 정가운데 있는 값은 가장 가까운 짝수 정수를 반환한다.
Math.rint(-1.5); // -2.0
삼각함수와 지수, 로그
import static java.lang.Math.*;
import static java.lang.System.*;
class MathEx3 {
public static void main(String args[]) {
int x1=1, y1=1; // (1, 1)
int x2=2, y2=2; // (2, 2)
double c = sqrt(pow(x2-x1, 2) + pow(y2-y1, 2)); // (x1, y1)(x2, y2) 두 점간의 거리
double a = c * sin(PI/4); // PI/4 rad = 45 degree
double b = c * cos(PI/4);
// double b = c * cos(toRadians(45));
out.printf("a=%f%n", a);
out.printf("b=%f%n", b);
out.printf("c=%f%n", c);
out.printf("angle=%f rad%n", atan2(a,b));
out.printf("angle=%f degree%n%n", atan2(a,b) * 180 / PI);
// out.printf("angle=%f degree%n%n", toDegrees(atan2(a,b)));
out.printf("24 * log10(2)=%f%n", 24 * log10(2)); // 7.224720
out.printf("53 * log10(2)=%f%n%n", 53 * log10(2)); // 15.954590
}
}
a, b는 끼인각이다.
삼각함수는 매개변수의 단위가 '라디안'이므로 45도를 라디안으로 변환해야 한다. 180도 = π rad이므로 45도 = π/4 rad이다.
toRadians()을 이용해 라디안으로 변환할 수도 있다.
atan2()는 직각 삼각형에서 두 변의 길이 a, b를 알면 끼인각을 구해준다. 결괏값은 라디안이므로 도(degree)로 변환하려면 180/PI를 곱하거나 toDegrees(double angrad)를 이용하면 된다.
Math클래스의 메서드
자주 쓰이는 메서드들이다.

'JAVA' 카테고리의 다른 글
[java.util] Objects, Random, 정규식 (0) | 2023.03.09 |
---|---|
[java.lang] Wrapper 클래스, Number클래스 (0) | 2023.03.09 |
[java.lang] String 관련 클래스 (0) | 2023.03.09 |
[java.lang] Object 클래스 (0) | 2023.03.09 |
예외처리 (0) | 2023.03.08 |
기본적인 수학계산에 유용한 메서드로 구성되어 있다.
Math클래스의 생성자는 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없도록 되어 있다. 왜냐하면 클래스 내에 인스턴스 변수가 하나도 없어서 인스턴스를 생성할 필요가 없기 때문이다.
올림
Math.ceil();
버림
Math.floor();
반올림
round()
Math.round();
round()는 항상 소수점 첫째 자리에서 반올림을 해서 정수값(long)을 결과로 돌려준다.
원하는 자리 수에서 반올림된 값을 얻기 위해서는 10n으로 곱한 후, 다시 곱한 수로 나눠주면 된다.
1. 원래 값에 100을 곱한다.
90.7552 * 100 → 9075.52
2. 위의 결과에 Math.round()를 사용한다.
Math.round(9075.52) → 9076
3. 위의 결과를 다시 100.0으로 나눈다.
9076 / 100.0 → 90.76
// 9076 / 100 → 90
rint()
Math.rint();
rint()는 주어진 double값과 가장 가까운 정수값을 double형을 반환한다. 두 정수의 정가운데 있는 값은 가장 가까운 짝수 정수를 반환한다.
Math.rint(-1.5); // -2.0
삼각함수와 지수, 로그
import static java.lang.Math.*;
import static java.lang.System.*;
class MathEx3 {
public static void main(String args[]) {
int x1=1, y1=1; // (1, 1)
int x2=2, y2=2; // (2, 2)
double c = sqrt(pow(x2-x1, 2) + pow(y2-y1, 2)); // (x1, y1)(x2, y2) 두 점간의 거리
double a = c * sin(PI/4); // PI/4 rad = 45 degree
double b = c * cos(PI/4);
// double b = c * cos(toRadians(45));
out.printf("a=%f%n", a);
out.printf("b=%f%n", b);
out.printf("c=%f%n", c);
out.printf("angle=%f rad%n", atan2(a,b));
out.printf("angle=%f degree%n%n", atan2(a,b) * 180 / PI);
// out.printf("angle=%f degree%n%n", toDegrees(atan2(a,b)));
out.printf("24 * log10(2)=%f%n", 24 * log10(2)); // 7.224720
out.printf("53 * log10(2)=%f%n%n", 53 * log10(2)); // 15.954590
}
}
a, b는 끼인각이다.
삼각함수는 매개변수의 단위가 '라디안'이므로 45도를 라디안으로 변환해야 한다. 180도 = π rad이므로 45도 = π/4 rad이다.
toRadians()을 이용해 라디안으로 변환할 수도 있다.
atan2()는 직각 삼각형에서 두 변의 길이 a, b를 알면 끼인각을 구해준다. 결괏값은 라디안이므로 도(degree)로 변환하려면 180/PI를 곱하거나 toDegrees(double angrad)를 이용하면 된다.
Math클래스의 메서드
자주 쓰이는 메서드들이다.

'JAVA' 카테고리의 다른 글
[java.util] Objects, Random, 정규식 (0) | 2023.03.09 |
---|---|
[java.lang] Wrapper 클래스, Number클래스 (0) | 2023.03.09 |
[java.lang] String 관련 클래스 (0) | 2023.03.09 |
[java.lang] Object 클래스 (0) | 2023.03.09 |
예외처리 (0) | 2023.03.08 |