Sprievodca triedou Java Math

1. Úvod

V tomto výučbe popíšeme Matematika trieda, ktorá poskytuje užitočné statické metódy na vykonávanie numerických operácií, ako sú exponenciál, logaritmus atď.

2. Základné matematické funkcie

Prvou sadou metód, ktorú pokryjeme, sú základné matematické funkcie, ako je absolútna hodnota, druhá odmocnina, maximum alebo minimum medzi dvoma hodnotami.

2.1. abs ()

The abs () metóda vracia absolútnu hodnotu danej hodnoty:

Math.abs (-5); // vráti 5

Rovnako aj z ďalších, ktoré uvidíme ďalej, abs () akceptuje ako parameter int, long, float alebo dvojitý a vráti relatívny.

2.2. pow ()

Vypočíta a vráti hodnotu prvého argumentu zvýšenú na hodnotu druhého:

Math.pow (5,2); // vráti 25

O tejto metóde hovoríme podrobnejšie tu.

2.3. sqrt ()

Vráti zaokrúhlenú kladnú druhú odmocninu a dvojitý:

Math.sqrt (25); // vráti 5

Ak je argument NaN alebo menej ako nula, výsledok je NaN.

2.4. cbrt ()

Podobne cbrt () vráti kockový koreň a dvojitý:

Math.cbrt (125); // vráti 5

2.5. max ()

Ako naznačuje názov metódy, vráti maximum medzi dvoma hodnotami:

Math.max (5,10); // vráti 10

Aj tu táto metóda akceptuje int, long, float alebo dvojitý.

2.6. min ()

Rovnakym sposobom, min () vráti minimum medzi dvoma hodnotami:

Matematický min (5,10); // vráti 5

2.7. random ()

Vráti pseudonáhodne dvojitý väčšie alebo rovné 0,0 a menšie ako 1,0:

double random = Math.random ()

Urobiť toto, metóda vytvorí jednu inštanciu súboru java.util.Random () generátor čísel, keď sa volá po prvýkrát.

Potom sa pre všetky volania tejto metódy použije rovnaká inštancia. Metóda je synchronizovaná, takže ju môže používať viac ako jedno vlákno.

Viac príkladov, ako vygenerovať náhodný obrázok, nájdete v tomto článku.

2.8. signum ()

Je užitočné, keď musíme poznať znamienko hodnoty:

Math.signum (-5) // vráti -1

Táto metóda vráti 1,0, ak je argument väčší ako nula alebo inak -1,0. Ak je argument nula pozitívny alebo nula negatívny, výsledok je rovnaký ako argument.

Vstup môže byť a plavák alebo a dvojitý.

2.9. copySign ()

Prijme dva parametre a vráti prvý argument so znamienkom druhého argumentu:

Math.copySign (5, -1); // vráti -5

Argumenty môžu byť tiež plavák alebo dvojitý.

3. Exponenciálne a logaritmické funkcie

Okrem základných matematických funkcií the Matematika trieda obsahuje metódy na riešenie exponenciálnych a logaritmických funkcií.

3.1. exp ()

The exp () metóda prijíma a dvojitý argument a vráti Eulerov počet zvýšený na moc argumentu (eX):

Math.exp (1); // vráti 2,718281828459045

3.2. expm1 ()

Podobne ako vyššie uvedená metóda, expm1 () počíta Eulerov počet zvýšený na moc prijatého argumentu, ale pridá -1 (eX -1):

Math.expm1 (1); // vráti 1,718281828459045

3.3. denník ()

Vráti prirodzený logaritmus a dvojitý hodnota:

Math.log (Math.E); // vráti 1

3.4. log10 ()

Vráti logaritmus v základe 10 argumentu:

Math.log10 (10); // vráti 1

3.5. log1p ()

Rovnako tak log (), ale k argumentu ln (1 + x) pridáva 1:

Math.log1p (Math.E); // vráti 1,3132616875182228

4. trigonometrické funkcie

Keď musíme pracovať s geometrickými vzorcami, vždy potrebujeme trigonometrické funkcie; the Matematika triedy nám ich poskytuje.

4.1. hriech ()

Prijíma jeden, dvojitý argument, ktorý predstavuje uhol (v radiánoch) a vracia trigonometrický sínus:

Math.sin (Math.PI / 2); // vráti 1

4.2. cos ()

Rovnakym sposobom, cos () vráti trigonometrický kosínus uhla (v radiánoch):

Math.cos (0); // vráti 1

4.3. tan ()

Vráti trigonometrickú tangensu uhla (v radiánoch):

Math.tan (Math.PI / 4); // vráti 1

4.4. sinh (), cosh (), tanh ()

Vrátia hyperbolický sínus, hyperbolický kosínus a hyperbolický tangens a dvojitý hodnota:

Math.sinh (Math.PI); Math.cosh (Math.PI); Math.tanh (Math.PI);

4.5. ako v()

Vráti sínusový oblúk prijatého argumentu:

Math.asin (1); // vráti pi / 2

Výsledkom je uhol v rozsahu -pi/ 2 až pi/2.

4.6. acos ()

Vráti kosínusový kosínus prijatého argumentu:

Math.acos (0); // vráti pi / 2

Výsledkom je uhol v rozsahu 0 až pi.

4.7. opálenie()

Vráti tangens oblúka prijatého argumentu:

Math.atan (1); // vráti pi / 4

Výsledkom je uhol v rozsahu -pi/ 2 až pi/2.

4.8. atan2 ()

Nakoniec atan2 () prijíma súradnicu súradníc r a súradnica úsečky X, a vráti uhol ϑ z prepočtu pravouhlých súradníc (x, y) na polárne súradnice (r, ϑ):

Math.atan2 (1,1); // vráti pi / 4

4.9. toDegrees ()

Táto metóda je užitočná, keď potrebujeme previesť radiány na stupne:

Math.toDegrees (Math.PI); // vráti 180

4.10. toRadians ()

Na druhej strane toRadians () je užitočné urobiť opačnú konverziu:

Math.toRadians (180); // vráti pi

Pamätajte, že väčšina metód, ktoré sme videli v tejto časti, akceptuje argument v radiánoch, takže ak máme uhol v stupňoch, mala by sa táto metóda použiť pred použitím trigonometrickej metódy.

Ďalšie príklady nájdete tu.

5. Zaokrúhľovanie a ďalšie funkcie

Na záver sa pozrime na metódy zaokrúhľovania.

5.1. strop ()

strop () je užitočné, keď musíme zaokrúhliť celé číslo na najmenšie dvojitý hodnota, ktorá je väčšia alebo rovná argumentu:

Math.ceil (Math.PI); // vráti 4

V tomto článku používame túto metódu na zaokrúhlenie čísla na stovky.

5.2. poschodie ()

Zaokrúhliť číslo na najväčšie dvojitý to je menšie alebo rovnaké ako argument, ktorý by sme mali použiť poschodie ():

Math.floor (Math.PI); // vráti 3

5.3. getExponent ()

Vráti nestranný exponent argumentu.

Argumentom môže byť a dvojitý alebo a plavák:

Math.getExponent (333.3); // vráti 8 Math.getExponent (222.2f); // vráti 7

5.4. IEEEreminder ()

Vypočíta rozdelenie medzi prvým (dividendou) a druhým (deliteľom) argumentom a vráti zvyšok podľa predpisu normy IEEE 754:

Math.IEEE zvyšok (5,2); // vráti 1

5.5. nextAfter ()

Táto metóda je užitočná, keď potrebujeme poznať susedné a dvojitý alebo a plavák hodnota:

Math.nextAfter (1,95f, 1); // vráti 1,9499999 Math.nextAfter (1,95f, 2); // vráti 1,9500002

Prijíma dva argumenty, prvý je hodnota, z ktorej chcete poznať susedné číslo, a druhý smer.

5.6. nextUp ()

Rovnako ako predchádzajúca metóda, ale táto vráti susednú hodnotu iba v smere kladného nekonečna:

Math.nextUp (1,95f); // vráti 1,9500002

5.7. rint ()

Vráti a dvojitý to je najbližšia celočíselná hodnota argumentu:

Math.rint (1,95f); // vráti 2.0

5.8. okrúhly()

Rovnako ako vyššie uvedená metóda, ale táto vráti znak int hodnota, ak je argumentom a plavák a a dlho hodnota, ak je argumentom a dvojitý:

int výsledok = Math.round (1,95f); // vráti 2 dlhý výsledok2 = Math.round (1,95) // vráti 2

5.9. skalp ()

Scalb je skratka pre „scale binary“. Táto funkcia vykoná jednu zmenu, jednu konverziu a dvojnásobné násobenie:

Math.scalb (3, 4); // vráti 3 * 2 ^ 4

5.10. ulp ()

The ulp () metóda vráti vzdialenosť od čísla k jeho najbližším susedom:

Math.ulp (1); // vráti 1,1920929E-7 Math.ulp (2); // vráti 2,3841858E-7 Math.ulp (4); // vráti 4.7683716E-7 Math.ulp (8); // vráti 9.536743E-7

5.11. hypot ()

Vráti druhú odmocninu súčtu druhých mocnín jeho argumentu:

Matematický hypoték (4, 3); // vráti 5

Metóda počíta druhú odmocninu bez medziľahlého pretečenia alebo podtečenia.

V tomto článku používame túto metódu na výpočet vzdialenosti medzi dvoma bodmi.

6. Matematické funkcie Java 8

The Matematika trieda bola znovu navštívená v prostredí Java 8, aby obsahovala nové metódy na vykonávanie najbežnejších aritmetických operácií.

O týchto metódach sme hovorili v inom článku.

7. Polia konštánt

Okrem metód Matematika trieda deklaruje dve konštantné polia:

verejné statické konečné zdvojnásobenie E verejné statické konečné zdvojnásobenie PI

Čo naznačuje bližšiu hodnotu k základu prirodzených logaritmov a bližšiu hodnotu k pi, resp.

8. Záver

V tomto článku sme opísali API, ktoré Java poskytuje pre matematické operácie.

Ako obvykle sú všetky tu uvedené útržky kódu dostupné na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found