Java har haft flera avancerade användningsapplikationer inklusive att arbeta med komplexa beräkningar inom fysik, arkitektur / design av strukturer, arbeta med kartor och motsvarande bredd- / longitud etc.
I den här handledningen lär du dig:
- Math.abs
- Math.round
- Math.ceil & Math.golv
- Matematik. Min
Alla sådana applikationer kräver komplicerade beräkningar / ekvationer som är tråkiga att utföra manuellt. Programmatiskt skulle sådana beräkningar innebära användning av logaritmer, trigonometri, exponentiella ekvationer etc.
Nu kan du inte ha alla logg- eller trigonometri-tabeller hårdkodade någonstans i din applikation eller data. Uppgifterna skulle vara enorma och komplexa att underhålla.
Java ger en mycket användbar klass för detta ändamål. Det är Math Java-klassen (java.lang.Math).
Denna klass tillhandahåller metoder för att utföra operationer som exponentiell, logaritm, rötter och trigonometriska ekvationer.
Låt oss ta en titt på metoderna från Java Math-klassen.
De två mest grundläggande elementen i matematik är 'e' (basen för den naturliga logaritmen) och 'pi' (förhållandet mellan en cirkels omkrets och dess diameter). Dessa två konstanter krävs ofta i ovanstående beräkningar / operationer.
Därför tillhandahåller matematikklassen java dessa två konstanter som dubbla fält.
Math.E - med ett värde som 2,718281828459045
Math.PI - med ett värde som 3.141592653589793
A) Låt oss titta på tabellen nedan som visar oss de grundläggande metoderna och dess beskrivning
Metod | Beskrivning | Argument |
magmuskler | Returnerar argumentets absoluta värde | Dubbel, flyt, int, lång |
runda | Returnerar den stängda int eller long (enligt argumentet) | dubbel eller flyta |
tak | Returnerar det minsta heltalet som är större än eller lika med argumentet | Dubbel |
golv | Returnerar det största heltalet som är mindre än eller lika med argumentet | Dubbel |
min | Returnerar det minsta av de två argumenten | Dubbel, flyt, int, lång |
max | Returnerar det största av de två argumenten | Dubbel, flyt, int, lång |
Nedan följer kodimplementeringen av ovanstående metoder:
Obs! Det finns ingen anledning att uttryckligen importera java.lang.Math som dess importerade implicit. Alla dess metoder är statiska.
Heltalsvariabel
int i1 = 27;int i2 = -45;
Dubbel (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
Math.round
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
Math.ceil & Math.golv
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) Låt oss titta på tabellen nedan som visar oss de exponentiella och logaritmiska metoderna och dess beskrivning-
Metod | Beskrivning | Argument |
exp | Återställer basen för den naturliga loggen (e) till argumentets kraft | Dubbel |
Logga | Returnerar argumentets naturliga logg | dubbel |
Pow | Tar två argument som inmatning och returnerar värdet av det första argumentet som höjs till det andra argumentets kraft | Dubbel |
golv | Returnerar det största heltalet som är mindre än eller lika med argumentet | Dubbel |
Sqrt | Returnerar kvadratroten av argumentet | Dubbel |
Nedan följer kodimplementeringen av ovanstående metoder: (Samma variabler används som ovan)
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) Låt oss ta en titt på tabellen nedan som visar oss de trigonometriska metoderna och dess beskrivning-
Metod | Beskrivning | Argument |
Synd | Returnerar Sine för det angivna argumentet | Dubbel |
Cos | Returnerar Cosine för det angivna argumentet | dubbel |
Solbränna | Returnerar tangenten för det angivna argumentet | Dubbel |
Atan2 | Konverterar rektangulära koordinater (x, y) till polar (r, theta) och returnerar theta | Dubbel |
toDegrees | Konverterar argumenten till grader | Dubbel |
Sqrt | Returnerar kvadratroten av argumentet | Dubbel |
toRadians | Konverterar argumenten till radianer | Dubbel |
Standardargument finns i Radians
Nedan följer kodimplementeringen:
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 ovanstående, kan du också designa din egen vetenskapliga kalkylator i java.