Java Math 클래스는 min(), max(), avg(), sin(), cos(), tan(), round(), ceil(), Floor(), abs(와 같은 수학 계산을 수행하는 여러 메서드를 제공합니다. ) 등.
StrictMath 클래스의 일부 숫자 메서드와 달리 Math 클래스의 동등한 함수에 대한 모든 구현은 비트 단위로 동일한 결과를 반환하도록 정의할 수 없습니다. 이러한 완화를 통해 엄격한 재현성이 요구되지 않는 경우 더 나은 성능을 구현할 수 있습니다.
크기가 int 또는 long이고 결과가 값 범위를 오버플로하는 경우 addExact(), subtractExact(), multiplyExact() 및 toIntExact() 메서드는 ArithmeticException을 발생시킵니다.
증가, 감소, 나누기, 절대값 및 부정 오버플로와 같은 기타 산술 연산의 경우 특정 최소값 또는 최대값에서만 발생합니다. 적절한 경우 최대값과 최소값을 비교하여 확인해야 합니다.
실시예 1
public class JavaMathExample1 { public static void main(String[] args) { double x = 28; double y = 4; // return the maximum of two numbers System.out.println('Maximum number of x and y is: ' +Math.max(x, y)); // return the square root of y System.out.println('Square root of y is: ' + Math.sqrt(y)); //returns 28 power of 4 i.e. 28*28*28*28 System.out.println('Power of x and y is: ' + Math.pow(x, y)); // return the logarithm of given value System.out.println('Logarithm of x is: ' + Math.log(x)); System.out.println('Logarithm of y is: ' + Math.log(y)); // return the logarithm of given value when base is 10 System.out.println('log10 of x is: ' + Math.log10(x)); System.out.println('log10 of y is: ' + Math.log10(y)); // return the log of x + 1 System.out.println('log1p of x is: ' +Math.log1p(x)); // return a power of 2 System.out.println('exp of a is: ' +Math.exp(x)); // return (a power of 2)-1 System.out.println('expm1 of a is: ' +Math.expm1(x)); } }지금 테스트해보세요
산출:
Maximum number of x and y is: 28.0 Square root of y is: 2.0 Power of x and y is: 614656.0 Logarithm of x is: 3.332204510175204 Logarithm of y is: 1.3862943611198906 log10 of x is: 1.4471580313422192 log10 of y is: 0.6020599913279624 log1p of x is: 3.367295829986474 exp of a is: 1.446257064291475E12 expm1 of a is: 1.446257064290475E12
실시예 2
public class JavaMathExample2 { public static void main(String[] args) { double a = 30; // converting values to radian double b = Math.toRadians(a); // return the trigonometric sine of a System.out.println('Sine value of a is: ' +Math.sin(a)); // return the trigonometric cosine value of a System.out.println('Cosine value of a is: ' +Math.cos(a)); // return the trigonometric tangent value of a System.out.println('Tangent value of a is: ' +Math.tan(a)); // return the trigonometric arc sine of a System.out.println('Sine value of a is: ' +Math.asin(a)); // return the trigonometric arc cosine value of a System.out.println('Cosine value of a is: ' +Math.acos(a)); // return the trigonometric arc tangent value of a System.out.println('Tangent value of a is: ' +Math.atan(a)); // return the hyperbolic sine of a System.out.println('Sine value of a is: ' +Math.sinh(a)); // return the hyperbolic cosine value of a System.out.println('Cosine value of a is: ' +Math.cosh(a)); // return the hyperbolic tangent value of a System.out.println('Tangent value of a is: ' +Math.tanh(a)); } }지금 테스트해보세요
산출:
Sine value of a is: -0.9880316240928618 Cosine value of a is: 0.15425144988758405 Tangent value of a is: -6.405331196646276 Sine value of a is: NaN Cosine value of a is: NaN Tangent value of a is: 1.5374753309166493 Sine value of a is: 5.343237290762231E12 Cosine value of a is: 5.343237290762231E12 Tangent value of a is: 1.0
자바 수학 방법
그만큼 java.lang.Math 클래스에는 로그, 세제곱근, 삼각 함수 등과 같은 기본 수치 연산을 수행하는 다양한 메소드가 포함되어 있습니다. 다양한 Java 수학 메소드는 다음과 같습니다.
기본 수학 방법
방법 | 설명 |
---|---|
수학.abs() | 주어진 값의 절대값을 반환합니다. |
수학.최대() | 두 값 중 가장 큰 값을 반환합니다. |
수학.최소() | 두 값 중 가장 작은 값을 반환하는 데 사용됩니다. |
수학.라운드() | 소수점 이하의 숫자를 가장 가까운 값으로 반올림하는 데 사용됩니다. |
수학.sqrt() | 숫자의 제곱근을 반환하는 데 사용됩니다. |
수학.cbrt() | 숫자의 세제곱근을 반환하는 데 사용됩니다. |
수학.pow() | 첫 번째 인수의 거듭제곱을 두 번째 인수로 반환합니다. |
수학.부호() | 주어진 값의 부호를 찾는 데 사용됩니다. |
수학.ceil() | 인수 또는 수학 정수보다 크거나 같은 가장 작은 정수 값을 찾는 데 사용됩니다. |
Math.copySign() | 두 번째 인수에 지정된 부호와 함께 첫 번째 인수의 절대값을 찾는 데 사용됩니다. |
Math.nextAfter() | 두 번째 인수 방향으로 첫 번째 인수에 인접한 부동 소수점 숫자를 반환하는 데 사용됩니다. |
수학.다음업() | 양의 무한대 방향으로 d에 인접한 부동 소수점 값을 반환합니다. |
Math.nextDown() | 음의 무한대 방향으로 d에 인접한 부동 소수점 값을 반환합니다. |
수학.바닥() | 인수보다 작거나 같고 double 값의 수학적 정수와 같은 가장 큰 정수 값을 찾는 데 사용됩니다. |
Math.floorDiv() | 대수적 몫보다 작거나 같은 가장 큰 정수 값을 찾는 데 사용됩니다. |
수학.랜덤() | 0.0보다 크거나 같고 1.0보다 작은 양수 부호가 있는 double 값을 반환합니다. |
수학.린트() | 주어진 인수에 가장 가깝고 수학적 정수와 동일한 double 값을 반환합니다. |
Math.hypot() | sqrt(x를 반환합니다.2�+y2) 중간 오버플로나 언더플로가 없습니다. |
수학.ulp() | 인수의 ulp 크기를 반환합니다. |
Math.getExComponent() | 값 표현에 사용된 편견 없는 지수를 반환하는 데 사용됩니다. |
Math.IEEE머마인더() | IEEE 754 표준에 규정된 대로 두 인수에 대한 나머지 연산을 계산하고 값을 반환하는 데 사용됩니다. |
Math.addExact() | 인수의 합계를 반환하는 데 사용되며 결과가 int 또는 long으로 오버플로되면 예외가 발생합니다. |
Math.subtractExact() | 인수의 차이를 반환하고 결과가 int를 오버플로하면 예외를 발생시킵니다. |
Math.multiplyExact() | 이는 인수의 곱을 반환하는 데 사용되며 결과가 int 또는 long을 오버플로하는 경우 예외를 발생시킵니다. |
Math.incrementExact() | 1씩 증가한 인수를 반환하고, 결과가 int를 오버플로하면 예외를 발생시킵니다. |
Math.decrementExact() | 이는 1만큼 감소된 인수를 반환하는 데 사용되며, 결과가 an�int 또는 long을 오버플로하는 경우 예외를 발생시킵니다. |
Math.negateExact() | 인수의 부정을 반환하는 데 사용되며 결과가 int 또는 long을 오버플로하는 경우 예외를 발생시킵니다. |
Math.toIntExact() | 긴 인수의 값을 반환하고 값이 int를 오버플로하면 예외를 발생시킵니다. |
대수 수학 방법
방법 | 설명 |
---|---|
수학.로그() | 이는 double 값의 자연 로그를 반환합니다. |
Math.log10() | 이는 double 값의 밑이 10인 로그를 반환하는 데 사용됩니다. |
수학.log1p() | 인수와 1의 합에 대한 자연 로그를 반환합니다. |
수학.exp() | 이는 E를 두 배의 값으로 거듭제곱한 값을 반환합니다. 여기서 E는 오일러 수이고 대략 2.71828과 같습니다. |
수학.expm1() | E의 거듭제곱을 계산하고 여기서 1을 빼는 데 사용됩니다. |
삼각법 수학 방법
방법 | 설명 |
---|---|
수학.sin() | 주어진 double 값의 삼각 사인 값을 반환하는 데 사용됩니다. |
수학.cos() | 주어진 double 값의 삼각 코사인 값을 반환하는 데 사용됩니다. |
수학.tan() | 주어진 double 값의 삼각 탄젠트 값을 반환하는 데 사용됩니다. |
수학.아신() | 주어진 double 값의 삼각 아크 사인 값을 반환하는 데 사용됩니다. |
수학.아코스() | 주어진 double 값의 삼각 아크코사인 값을 반환하는 데 사용됩니다. |
수학.아탄() | 주어진 double 값의 삼각 아크 탄젠트 값을 반환하는 데 사용됩니다. |
쌍곡선 수학 방법
방법 | 설명 |
---|---|
수학.sinh() | 주어진 double 값의 삼각 쌍곡선 코사인 값을 반환하는 데 사용됩니다. |
수학.cosh() | 주어진 double 값의 삼각 쌍곡선 사인 값을 반환하는 데 사용됩니다. |
수학.tanh() | 주어진 double 값의 삼각 쌍곡선 탄젠트 값을 반환하는 데 사용됩니다. |
각도 수학 방법
방법 | 설명 |
---|---|
Math.toDegrees | 지정된 라디안 각도를 도 단위로 측정된 등가 각도로 변환하는 데 사용됩니다. |
Math.toRadians | 지정된 각도를 라디안으로 측정된 등가 각도로 변환하는 데 사용됩니다. |