logo

Třída Java Math

Třída Java Math poskytuje několik metod pro práci s matematickými výpočty, jako je min(), max(), avg(), sin(), cos(), tan(), round(), ceil(), floor(), abs( ) atd.

Na rozdíl od některých numerických metod třídy StrictMath nemohou všechny implementace ekvivalentní funkce třídy Math definovat, aby vracely bit po bitu stejné výsledky. Toto uvolnění umožňuje implementaci s lepším výkonem tam, kde není vyžadována přísná reprodukovatelnost.

Pokud je velikost int nebo long a výsledky překračují rozsah hodnot, metody addExact(),�subtractExact(),�multiplyExact() a�toIntExact()�vyvolají�aritmetickou výjimku.

U ostatních aritmetických operací, jako je přírůstek, dekrement, dělení, absolutní hodnota a přetečení negace, dochází pouze k určité minimální nebo maximální hodnotě. Mělo by být porovnáno s maximální a minimální hodnotou podle potřeby.

Příklad 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)); } } 
Otestujte to hned

Výstup:

 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 

Příklad 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)); } } 
Otestujte to hned

Výstup:

 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 

Matematické metody Java

The java.lang.Math třída obsahuje různé metody pro provádění základních numerických operací, jako je logaritmus, krychlová odmocnina a goniometrické funkce atd. Různé matematické metody java jsou následující:

Základní matematické metody

Metoda Popis
Math.abs() Vrátí absolutní hodnotu dané hodnoty.
Math.max() Vrací největší ze dvou hodnot.
Math.min() Používá se k vrácení nejmenší ze dvou hodnot.
Math.round() Používá se k zaokrouhlování desetinných čísel na nejbližší hodnotu.
Math.sqrt() Používá se k vrácení druhé odmocniny čísla.
Math.cbrt() Používá se k vrácení třetí odmocniny čísla.
Math.pow() Vrátí hodnotu prvního argumentu umocněného na druhý argument.
Math.sign() Slouží k nalezení znaménka dané hodnoty.
Math.ceil() Používá se k nalezení nejmenší celočíselné hodnoty, která je větší nebo rovna argumentu nebo matematickému celému číslu.
Math.copySign() Používá se k nalezení absolutní hodnoty prvního argumentu spolu se znaménkem uvedeným v druhém argumentu.
Math.nextAfter() Používá se k vrácení čísla s plovoucí desetinnou čárkou vedle prvního argumentu ve směru druhého argumentu.
Math.nextUp() Vrací hodnotu s plovoucí desetinnou čárkou sousedící s�d�ve směru kladného nekonečna.
Math.nextDown() Vrací hodnotu s plovoucí desetinnou čárkou sousedící s�d�ve směru záporného nekonečna.
Math.floor() Používá se k nalezení hodnoty největšího celého čísla, která je menší nebo rovna argumentu a rovná se matematickému celému číslu dvojité hodnoty.
Math.floorDiv() Používá se k nalezení největší celočíselné hodnoty, která je menší nebo rovna algebraickému kvocientu.
Math.random() Vrací �dvojitou�hodnotu s kladným znaménkem, větší nebo rovné �0,0�a menší než�1,0.
Math.rint() Vrací hodnotu double, která je nejblíže danému argumentu a rovná se matematickému celému číslu.
Math.hypot() Vrátí sqrt(x2�+y2) bez mezilehlého přepadu nebo podtečení.
Math.ulp() Vrací velikost ulp argumentu.
Math.getExponent() Používá se k vrácení nezaujatého exponentu použitého při reprezentaci a�hodnoty.
Math.IEEEremainder() Používá se k výpočtu zbývající operace na dvou argumentech, jak je předepsáno standardem IEEE 754, a vrací hodnotu.
Math.addExact() Používá se k vrácení součtu svých argumentů a vyvolá výjimku, pokud výsledek přeteče an�int nebo long.
Math.subtractExact() Vrátí rozdíl argumentů a vyvolá výjimku, pokud výsledek přeteče an�int.
Math.multiplyExact() Používá se k vrácení součinu argumentů a vyvolá výjimku, pokud výsledek přeteče an�int nebo long.
Math.incrementExact() Vrátí argument zvýšený o jedničku a vyvolá výjimku, pokud výsledek přeteče an�int.
Math.decrementExact() Používá se k vrácení argumentu sníženého o jedničku a vyvolá výjimku, pokud výsledek přeteče an�int nebo long.
Math.negateExact() Používá se k vrácení negace argumentu a vyvolání výjimky, pokud výsledek přeteče an�int nebo long.
Math.toIntExact() Vrátí hodnotu dlouhého argumentu a vyvolá výjimku, pokud hodnota přeteče o int.

Logaritmické matematické metody

Metoda Popis
Math.log() Vrací přirozený logaritmus dvojité hodnoty.
Math.log10() Používá se k vrácení základních 10 logaritmů �dvojité�hodnoty.
Math.log1p() Vrátí přirozený logaritmus součtu argumentu a 1.
Math.exp() Vrací E umocněné na „dvojitou“ hodnotu, kde E je Eulerovo číslo a je přibližně rovno 2,71828.
Math.expm1() Slouží k výpočtu mocniny E a odečtení jedničky od ní.

Trigonometrické matematické metody

Metoda Popis
Math.sin() Používá se k vrácení trigonometrické sinusové hodnoty dané dvojité hodnoty.
Math.cos() Používá se k vrácení trigonometrické hodnoty kosinus dané dvojité hodnoty.
Math.tan() Používá se k vrácení trigonometrické hodnoty tečny dané dvojité hodnoty.
Math.asin() Používá se k vrácení trigonometrické hodnoty Arc Sine dané dvojité hodnoty
Math.acos() Používá se k vrácení trigonometrické Arc Cosine hodnoty dané dvojnásobné hodnoty.
Math.atan() Používá se k vrácení trigonometrické Arc Tangent hodnoty dané dvojité hodnoty.

Hyperbolické matematické metody

Metoda Popis
Math.sinh() Používá se k vrácení trigonometrické hodnoty hyperbolického kosinu dané dvojité hodnoty.
Math.cosh() Používá se k vrácení trigonometrické hodnoty hyperbolického sinusu dané dvojnásobné hodnoty.
Math.tanh() Používá se k vrácení hodnoty trigonometrické hyperbolické tečny dané dvojité hodnoty.

Úhlové matematické metody

Metoda Popis
Math.toDegrees Používá se k převodu zadaného radiánského úhlu na ekvivalentní úhel měřený ve stupních.
Math.toRadians Používá se k převodu zadaného úhlu stupňů na ekvivalentní úhel měřený v radiánech.