Java har hatt flere avanserte bruksområder, inkludert arbeid med komplekse beregninger innen fysikk, arkitektur / utforming av strukturer, arbeid med kart og tilsvarende breddegrader / lengdegrader, etc.
I denne opplæringen lærer du:
- Math.abs
- Matematikk. Runde
- Math.ceil & Math.floor
- Matematikk. Min
Alle slike applikasjoner krever bruk av komplekse beregninger / ligninger som er kjedelige å utføre manuelt. Programmatisk vil slike beregninger innebære bruk av logaritmer, trigonometri, eksponensielle ligninger, etc.
Nå kan du ikke ha alle logg- eller trigonometri-tabellene hardkodet et sted i applikasjonen eller dataene dine. Dataene ville være enorme og komplekse å vedlikeholde.
Java gir en veldig nyttig klasse for dette formålet. Det er Math java-klassen (java.lang.Math).
Denne klassen gir metoder for å utføre operasjoner som eksponentiell, logaritme, røtter og trigonometriske ligninger.
La oss ta en titt på metodene som tilbys i Java Math-klassen.
De to mest grunnleggende elementene i matematikk er 'e' (basis for den naturlige logaritmen) og 'pi' (forholdet mellom sirkelens omkrets og diameteren). Disse to konstantene kreves ofte i beregningene / operasjonene ovenfor.
Derfor gir matematikklassen java disse to konstantene som doble felt.
Math.E - med en verdi på 2,718281828459045
Math.PI - med en verdi som 3.141592653589793
A) La oss ta en titt på tabellen nedenfor som viser oss de grunnleggende metodene og beskrivelsen
Metode | Beskrivelse | Argumenter |
abs | Returnerer den absolutte verdien av argumentet | Dobbelt, flyte, int, lang |
rund | Returnerer lukket int eller lang (i henhold til argumentet) | dobbelt eller flyte |
tak | Returnerer det minste heltallet som er større enn eller lik argumentet | Dobbelt |
gulv | Returnerer det største heltallet som er mindre enn eller lik argumentet | Dobbelt |
min | Returnerer det minste av de to argumentene | Dobbelt, flyte, int, lang |
maks | Returnerer den største av de to argumentene | Dobbelt, flyte, int, lang |
Nedenfor er kodeimplementeringen av metodene ovenfor:
Merk: Det er ikke nødvendig å eksplisitt importere java.lang.Math som det importeres implisitt. Alle metodene er statiske.
Heltalsvariabel
int i1 = 27;int i2 = -45;
Doble (desimal) 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));}}Produksjon:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Matematikk. 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));}}Produksjon:
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));}}Produksjon:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Matematikk. 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));}}Produksjon:
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) La oss se på tabellen nedenfor som viser oss de eksponentielle og logaritmiske metodene og dens beskrivelse-
Metode | Beskrivelse | Argumenter |
eksp | Returnerer basen til naturlig logg (e) til argumentets kraft | Dobbelt |
Logg | Returnerer argumentets naturlige logg | dobbelt |
Pow | Tar to argumenter som inngang og returnerer verdien av det første argumentet som er hevet til kraften til det andre argumentet | Dobbelt |
gulv | Returnerer det største heltallet som er mindre enn eller lik argumentet | Dobbelt |
Sqrt | Returnerer kvadratroten til argumentet | Dobbelt |
Nedenfor er kodeimplementeringen av metodene ovenfor: (De samme variablene brukes 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));}}Produksjon:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) La oss ta en titt på tabellen nedenfor som viser oss de trigonometriske metodene og dens beskrivelse-
Metode | Beskrivelse | Argumenter |
Synd | Returnerer Sine for det angitte argumentet | Dobbelt |
Cos | Returnerer Cosine for det angitte argumentet | dobbelt |
Tan | Returnerer tangenten til det angitte argumentet | Dobbelt |
Atan2 | Konverterer rektangulære koordinater (x, y) til polar (r, theta) og returnerer theta | Dobbelt |
toDegrees | Konverterer argumentene til grader | Dobbelt |
Sqrt | Returnerer kvadratroten til argumentet | Dobbelt |
toRadians | Konverterer argumentene til radianer | Dobbelt |
Standardargumenter er i Radians
Nedenfor er kodeimplementeringen:
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));}}Produksjon:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Nå, med ovennevnte, kan du også designe din egen vitenskapelige kalkulator i java.