Java má několik pokročilých aplikací pro použití, včetně práce se složitými výpočty ve fyzice, architektury / navrhování struktur, práce s Mapami a odpovídajícími zeměpisnými šířkami / délkami atd.
V tomto výukovém programu se naučíte:
- Math.abs
- Matematika. Kolo
- Math.ceil & Math.floor
- Math.min
Všechny tyto aplikace vyžadují použití složitých výpočtů / rovnic, které je zdlouhavé provádět ručně. Programově by takové výpočty zahrnovaly použití logaritmů, trigonometrie, exponenciálních rovnic atd.
Nyní nemůžete mít v aplikaci nebo datech někde napevno zakódované všechny tabulky protokolů nebo trigonometrie. Data by byla obrovská a složitá na údržbu.
Java pro tento účel poskytuje velmi užitečnou třídu. Jedná se o třídu Math java (java.lang.Math).
Tato třída poskytuje metody pro provádění operací, jako jsou exponenciální, logaritmus, kořeny a trigonometrické rovnice.
Pojďme se podívat na metody poskytované třídou Java Math.
Dva nejzákladnější prvky v matematice jsou „e“ (základ přirozeného logaritmu) a „pi“ (poměr obvodu kruhu k jeho průměru). Tyto dvě konstanty jsou často vyžadovány ve výše uvedených výpočtech / operacích.
Proto třída Math Java poskytuje tyto dvě konstanty jako dvojitá pole.
Math.E - s hodnotou 2,718281828459045
Math.PI - s hodnotou 3.141592653589793
A) Podívejme se na níže uvedenou tabulku, která nám ukazuje základní metody a jejich popis
Metoda | Popis | Argumenty |
břišní svaly | Vrátí absolutní hodnotu argumentu | Double, float, int, long |
kolo | Vrátí uzavřený int nebo long (podle argumentu) | zdvojnásobit nebo plovoucí |
strop | Vrátí nejmenší celé číslo, které je větší nebo rovno argumentu | Dvojnásobek |
podlaha | Vrátí největší celé číslo, které je menší nebo rovno argumentu | Dvojnásobek |
min | Vrátí nejmenší ze dvou argumentů | Double, float, int, long |
max | Vrátí největší ze dvou argumentů | Double, float, int, long |
Níže je implementace kódu výše uvedených metod:
Poznámka: Není nutné explicitně importovat java.lang.Math jako importovaný implicitně. Všechny jeho metody jsou statické.
Celočíselná proměnná
int i1 = 27;int i2 = -45;
Dvojité (desetinné) proměnné
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ýstup:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Matematika. Kolo
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ýstup:
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ýstup:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Math.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ýstup:
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) Podívejme se na níže uvedenou tabulku, která nám ukazuje exponenciální a logaritmické metody a jejich popis -
Metoda | Popis | Argumenty |
exp | Vrátí základ přirozeného logu (e) k argumentační síle | Dvojnásobek |
Log | Vrátí přirozený protokol argumentu | dvojnásobek |
Pow | Vezme 2 argumenty jako vstup a vrátí hodnotu prvního argumentu zvýšenou na sílu druhého argumentu | Dvojnásobek |
podlaha | Vrátí největší celé číslo, které je menší nebo rovno argumentu | Dvojnásobek |
Sqrt | Vrátí druhou odmocninu argumentu | Dvojnásobek |
Níže je implementace kódu výše uvedených metod: (Jsou použity stejné proměnné jako výše)
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ýstup:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Podívejme se na níže uvedenou tabulku, která nám ukazuje trigonometrické metody a jejich popis -
Metoda | Popis | Argumenty |
Hřích | Vrátí sinus zadaného argumentu | Dvojnásobek |
Cos | Vrátí kosinus zadaného argumentu | dvojnásobek |
Opálení | Vrátí tangens zadaného argumentu | Dvojnásobek |
Atan2 | Převede obdélníkové souřadnice (x, y) na polární (r, theta) a vrátí theta | Dvojnásobek |
stupně | Převede argumenty na stupně | Dvojnásobek |
Sqrt | Vrátí druhou odmocninu argumentu | Dvojnásobek |
Radianům | Převede argumenty na radiány | Dvojnásobek |
Výchozí argumenty jsou v radiánech
Níže je implementace 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ýstup:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Nyní, s výše uvedeným, můžete také navrhnout vlastní vědeckou kalkulačku v Javě.