Класът 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
The java.lang.Math съдържа различни методи за извършване на основни числени операции като логаритъм, кубичен корен и тригонометрични функции и т.н. Различните математически методи на Java са както следва:
Основни математически методи
Метод | Описание |
---|---|
Math.abs() | Той ще върне абсолютната стойност на дадената стойност. |
Math.max() | Връща най-голямата от две стойности. |
Math.min() | Използва се за връщане на най-малката от две стойности. |
Math.round() | Използва се за закръгляване на десетичните числа до най-близката стойност. |
Math.sqrt() | Използва се за връщане на корен квадратен от число. |
Math.cbrt() | Използва се за връщане на кубичния корен на число. |
Math.pow() | Връща стойността на първия аргумент, повдигната на степен на втори аргумент. |
Math.sign() | Използва се за намиране на знака на дадена стойност. |
Math.ceil() | Използва се за намиране на най-малкото цяло число, което е по-голямо или равно на аргумента или математическото цяло число. |
Math.copySign() | Използва се за намиране на абсолютната стойност на първия аргумент заедно със знака, посочен във втория аргумент. |
Math.nextAfter() | Използва се за връщане на числото с плаваща запетая, съседно на първия аргумент по посока на втория аргумент. |
Math.nextUp() | Връща стойността с плаваща запетая, съседна на d в посока на положителна безкрайност. |
Math.nextDown() | Връща стойността с плаваща запетая, съседна на d в посока на отрицателна безкрайност. |
Math.floor() | Използва се за намиране на най-голямото цяло число, което е по-малко или равно на аргумента и е равно на математическото цяло число на двойна стойност. |
Math.floorDiv() | Използва се за намиране на най-голямата целочислена стойност, която е по-малка или равна на алгебричното частно. |
Math.random() | Връща двойна стойност с положителен знак, по-голяма или равна на 0,0 и по-малка от 1,0. |
Math.rint() | Връща двойната стойност, която е най-близка до дадения аргумент и равна на цяло математическо число. |
Math.hypot() | Връща sqrt(x2�+y2) без междинно преливане или преливане. |
Math.ulp() | Връща размера на ulp на аргумента. |
Math.getExponent() | Използва се за връщане на безпристрастната степен, използвана при представянето на стойност. |
Math.IEEEremainder() | Използва се за изчисляване на операцията за остатък върху два аргумента, както е предписано от стандарта IEEE 754, и връща стойност. |
Math.addExact() | Използва се за връщане на сумата от своите аргументи, хвърляйки изключение, ако резултатът превишава an�int или long. |
Math.subtractExact() | Той връща разликата на аргументите, хвърляйки изключение, ако резултатът препълва an�int. |
Math.multiplyExact() | Използва се за връщане на произведението на аргументите, хвърляйки изключение, ако резултатът препълва an�int или long. |
Math.incrementExact() | Той връща аргумента, увеличен с единица, хвърляйки изключение, ако резултатът препълва an�int. |
Math.decrementExact() | Използва се за връщане на аргумента, намален с единица, хвърляйки изключение, ако резултатът препълва an�int или long. |
Math.negateExact() | Използва се за връщане на отрицанието на аргумента, хвърляйки изключение, ако резултатът превишава an�int или long. |
Math.toIntExact() | Той връща стойността на дългия аргумент, хвърляйки изключение, ако стойността превишава int. |
Логаритмични математически методи
Метод | Описание |
---|---|
Math.log() | Връща натурален логаритъм на двойна стойност. |
Math.log10() | Използва се за връщане на логаритъм с основа 10 на двойна стойност. |
Math.log1p() | Връща натурален логаритъм от сумата на аргумента и 1. |
Math.exp() | Връща E, повдигнато на степен на двойна стойност, където E е числото на Ойлер и е приблизително равно на 2,71828. |
Math.expm1() | Използва се за изчисляване на степента на E и изваждане на единица от нея. |
Тригонометрични математически методи
Метод | Описание |
---|---|
Math.sin() | Използва се за връщане на тригонометричната синусова стойност на дадена двойна стойност. |
Math.cos() | Използва се за връщане на тригонометричната косинусова стойност на дадена двойна стойност. |
Math.tan() | Използва се за връщане на стойността на тригонометричния тангенс на дадена двойна стойност. |
Math.asin() | Използва се за връщане на тригонометричната стойност Arc Sine на дадена двойна стойност |
Math.acos() | Използва се за връщане на тригонометричната стойност на Arc Cosine на дадена двойна стойност. |
Math.atan() | Използва се за връщане на тригонометричната стойност на Arc Tangent на дадена двойна стойност. |
Хиперболични математически методи
Метод | Описание |
---|---|
Math.sinh() | Използва се за връщане на стойността на тригонометричния хиперболичен косинус на дадена двойна стойност. |
Math.cosh() | Използва се за връщане на стойността на тригонометричния хиперболичен синус на дадена двойна стойност. |
Math.tanh() | Използва се за връщане на стойността на тригонометричния хиперболичен тангенс на дадена двойна стойност. |
Ъглови математически методи
Метод | Описание |
---|---|
Math.toDegrees | Използва се за преобразуване на посочения радианен ъгъл в еквивалентен ъгъл, измерен в градуси. |
Math.toRadians | Използва се за преобразуване на определения градусов ъгъл в еквивалентен ъгъл, измерен в радиани. |