Java mala niekoľko pokročilých aplikácií, vrátane práce so zložitými výpočtami z fyziky, architektúry / navrhovania štruktúr, práce s mapami a zodpovedajúcich zemepisných šírok / dĺžok atď.
V tomto návode sa dozviete:
- Math.abs
- Matematika.okruh
- Math.ceil & Math.floor
- Matematika.min
Všetky tieto aplikácie si vyžadujú použitie zložitých výpočtov / rovníc, ktoré je namáhavé vykonávať manuálne. Programovo by takéto výpočty zahŕňali použitie logaritmov, trigonometrie, exponenciálnych rovníc atď.
Teraz nemôžete mať niekde vo svojej aplikácii alebo dátach napevno napísané všetky tabuľky denníkov alebo trigonometrie. Udržiavanie údajov by bolo obrovské a zložité.
Java poskytuje na tento účel veľmi užitočnú triedu. Je to matematická trieda java (java.lang.Math).
Táto trieda poskytuje metódy na vykonávanie operácií, ako sú exponenciálne, logaritmy, korene a trigonometrické rovnice.
Pozrime sa na metódy poskytované triedou Java Math.
Dva najzásadnejšie prvky v matematike sú „e“ (základ prirodzeného logaritmu) a „pi“ (pomer obvodu kruhu k jeho priemeru). Tieto dve konštanty sú často požadované vo vyššie uvedených výpočtoch / operáciách.
Preto trieda Math Java poskytuje tieto dve konštanty ako dvojité polia.
Math.E - s hodnotou ako 2,718281828459045
Math.PI - s hodnotou ako 3,141592653589793
A) Pozrime sa na tabuľku nižšie, ktorá ukazuje základné metódy a ich popis
Metóda | Popis | Argumenty |
abs | Vráti absolútnu hodnotu argumentu | Dvojitý, plavák, int, dlhý |
okrúhly | Vráti uzavretý int alebo long (podľa argumentu) | dvojité alebo plavákové |
strop | Vráti najmenšie celé číslo, ktoré je väčšie alebo rovnaké ako argument | Dvojitý |
poschodie | Vráti najväčšie celé číslo, ktoré je menšie alebo rovné argumentu | Dvojitý |
min | Vráti najmenší z dvoch argumentov | Dvojitý, plavák, int, dlhý |
max | Vráti najväčší z dvoch argumentov | Dvojitý, plavák, int, dlhý |
Nižšie je uvedená implementácia kódu vyššie uvedených metód:
Poznámka: Nie je potrebné explicitne importovať súbor java.lang.Math ako importovaný implicitne. Všetky jeho metódy sú statické.
Celočíselná premenná
int i1 = 27;int i2 = -45;
Dvojité (desatinné) premenné
double d1 = 84.6;double d2 = 0.45;
Math.abs
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Absolute value of i1: " + Math.abs(i1));System.out.println("Absolute value of i2: " + Math.abs(i2));System.out.println("Absolute value of d1: " + Math.abs(d1));System.out.println("Absolute value of d2: " + Math.abs(d2));}}Výkon:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Matematika.okruh
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Round off for d1: " + Math.round(d1));System.out.println("Round off for d2: " + Math.round(d2));}}Výkon:
Round off for d1: 85Round off for d2: 0
Math.ceil & Math.floor
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1));System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1));System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2));System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2));}}Výkon:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Matematika.min
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2));System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2));System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2));System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2));}}Výkon:
Minimum out of '27' and '-45' = -45Maximum out of '27' and '-45' = 27Minimum out of '84.6' and '0.45' = 0.45Maximum out of '84.6' and '0.45' = 84.6
B) Pozrime sa na nasledujúcu tabuľku, ktorá nám ukazuje exponenciálne a logaritmické metódy a ich popis -
Metóda | Popis | Argumenty |
exp | Vráti základ prirodzeného logu (e) k argumentačnej sile | Dvojitý |
Log | Vráti prirodzený protokol argumentu | dvojitý |
Pow | Berie ako vstup 2 argumenty a vráti hodnotu prvého argumentu zvýšenú k sile druhého argumentu | Dvojitý |
poschodie | Vráti najväčšie celé číslo, ktoré je menšie alebo rovné argumentu | Dvojitý |
Sqrt | Vráti druhú odmocninu argumentu | Dvojitý |
Ďalej uvádzame implementáciu kódu vyššie uvedených metód: (používajú sa rovnaké premenné ako vyššie)
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("exp(" + d2 + ") = " + Math.exp(d2));System.out.println("log(" + d2 + ") = " + Math.log(d2));System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));System.out.println("sqrt(16) = " + Math.sqrt(16));}}Výkon:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Pozrime sa na tabuľku nižšie, ktorá nám ukazuje trigonometrické metódy a ich popis -
Metóda | Popis | Argumenty |
Hriech | Vráti sínus zadaného argumentu | Dvojitý |
Cos | Vráti kosínus zadaného argumentu | dvojitý |
Tan | Vráti tangens zadaného argumentu | Dvojitý |
Atan2 | Prevedie obdĺžnikové súradnice (x, y) na polárne (r, theta) a vráti theta | Dvojitý |
stupne | Prevedie argumenty na stupne | Dvojitý |
Sqrt | Vráti druhú odmocninu argumentu | Dvojitý |
kRadiánom | Prevedie argumenty na radiány | Dvojitý |
Predvolené argumenty sú v radiánoch
Nižšie je uvedená implementácia kódu:
public class Guru99 {public static void main(String args[]) {double angle_30 = 30.0;double radian_30 = Math.toRadians(angle_30);System.out.println("sin(30) = " + Math.sin(radian_30));System.out.println("cos(30) = " + Math.cos(radian_30));System.out.println("tan(30) = " + Math.tan(radian_30));System.out.println("Theta = " + Math.atan2(4, 2));}}Výkon:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Teraz, s vyššie uvedeným, môžete tiež navrhnúť svoju vlastnú vedeckú kalkulačku v jave.