Java har haft flere avancerede anvendelsesapplikationer, herunder arbejde med komplekse beregninger inden for fysik, arkitektur / design af strukturer, arbejde med kort og tilsvarende breddegrader / længdegrader osv.
I denne vejledning lærer du:
- Math.abs
- Matematik. Runde
- Matematik.flise og matematikgulv
- Matematik. Min
Alle sådanne applikationer kræver brug af komplekse beregninger / ligninger, der er kedelige at udføre manuelt. Programmatisk vil sådanne beregninger involvere brug af logaritmer, trigonometri, eksponentielle ligninger osv.
Nu kan du ikke have alle log- eller trigonometri-tabellerne hårdkodede et eller andet sted i din applikation eller data. Dataene ville være enorme og komplekse at vedligeholde.
Java giver en meget nyttig klasse til dette formål. Det er Math java-klassen (java.lang.Math).
Denne klasse giver metoder til at udføre operationer som eksponentiel, logaritme, rødder og trigonometriske ligninger også.
Lad os se på metoderne fra Java Math-klassen.
De to mest grundlæggende elementer i matematik er 'e' (basis for den naturlige logaritme) og 'pi' (forholdet mellem en cirkels omkreds og dens diameter). Disse to konstanter kræves ofte i ovenstående beregninger / operationer.
Derfor giver matematikklassen java disse to konstanter som dobbeltfelter.
Math.E - med en værdi på 2,718281828459045
Math.PI - med en værdi som 3.141592653589793
A) Lad os se på nedenstående tabel, der viser os de grundlæggende metoder og dens beskrivelse
Metode | Beskrivelse | Argumenter |
abs | Returnerer argumentets absolutte værdi | Dobbelt, flyde, int, lang |
rund | Returnerer den lukkede int eller lange (ifølge argumentet) | dobbelt eller flyde |
loft | Returnerer det mindste heltal, der er større end eller lig med argumentet | Dobbelt |
etage | Returnerer det største heltal, der er mindre end eller lig med argumentet | Dobbelt |
min | Returnerer det mindste af de to argumenter | Dobbelt, flyde, int, lang |
maks | Returnerer det største af de to argumenter | Dobbelt, flyde, int, lang |
Nedenfor er kodeimplementeringen af ovenstående metoder:
Bemærk: Der er ikke behov for eksplicit at importere java.lang.Math som dets importerede implicit. Alle dens metoder er statiske.
Heltalsvariabel
int i1 = 27;int i2 = -45;
Dobbelt (decimal) variabler
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));}}Produktion:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Matematik. Runde
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));}}Produktion:
Round off for d1: 85Round off for d2: 0
Matematik.flise og matematikgulv
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));}}Produktion:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Matematik. 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));}}Produktion:
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) Lad os se på nedenstående tabel, der viser os de eksponentielle og logaritmiske metoder og dens beskrivelse-
Metode | Beskrivelse | Argumenter |
eksp | Returnerer basen for den naturlige log (e) til argumentets magt | Dobbelt |
Log | Returnerer argumentets naturlige log | dobbelt |
Pow | Tager 2 argumenter som input og returnerer værdien af det første argument hævet til magten i det andet argument | Dobbelt |
etage | Returnerer det største heltal, der er mindre end eller lig med argumentet | Dobbelt |
Sqrt | Returnerer kvadratroden af argumentet | Dobbelt |
Nedenfor er kodeimplementeringen af ovenstående metoder: (De samme variabler bruges som ovenfor)
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));}}Produktion:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Lad os se på nedenstående tabel, der viser os de trigonometriske metoder og dens beskrivelse -
Metode | Beskrivelse | Argumenter |
Synd | Returnerer Sine for det angivne argument | Dobbelt |
Cos | Returnerer Cosine for det angivne argument | dobbelt |
Tan | Returnerer Tangenten for det angivne argument | Dobbelt |
Atan2 | Konverterer rektangulære koordinater (x, y) til polar (r, theta) og returnerer theta | Dobbelt |
til grader | Konverterer argumenterne til grader | Dobbelt |
Sqrt | Returnerer kvadratroden af argumentet | Dobbelt |
toRadians | Konverterer argumenterne til radianer | Dobbelt |
Standardargumenter findes i Radians
Nedenfor er implementeringen af koden:
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));}}Produktion:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Nu med ovenstående kan du også designe din egen videnskabelige lommeregner i java.