Java a avut mai multe aplicații avansate de utilizare, inclusiv lucrul cu calcule complexe în fizică, arhitectură / proiectarea structurilor, lucrul cu Hărți și latitudini / longitudini corespunzătoare etc.
În acest tutorial, veți învăța:
- Math.abs
- Math.round
- Math.ceil & Math.floor
- Math.min
Toate aceste aplicații necesită utilizarea unor calcule / ecuații complexe care sunt obositoare să se efectueze manual. Programatic, astfel de calcule ar implica utilizarea logaritmilor, trigonometriei, ecuațiilor exponențiale etc.
Acum, nu mai puteți avea toate jurnalele sau tabelele de trigonometrie codificate greu undeva în aplicație sau date. Datele ar fi enorme și complexe de întreținut.
Java oferă o clasă foarte utilă în acest scop. Este clasa Math java (java.lang.Math).
Această clasă oferă metode pentru efectuarea operațiunilor precum exponențiale, logaritmice, rădăcini și ecuații trigonometrice.
Să aruncăm o privire asupra metodelor oferite de clasa Java Math.
Cele două elemente fundamentale din matematică sunt „e” (baza logaritmului natural) și „pi” (raportul dintre circumferința unui cerc și diametrul său). Aceste două constante sunt deseori necesare în calculele / operațiile de mai sus.
Prin urmare, clasa Math Java oferă aceste două constante ca câmpuri duble.
Math.E - având o valoare 2.718281828459045
Math.PI - având o valoare de 3.141592653589793
A) Să aruncăm o privire la tabelul de mai jos care ne arată metodele de bază și descrierea acestuia
Metodă | Descriere | Argumente |
abs | Returnează valoarea absolută a argumentului | Dublu, plutitor, int, lung |
rundă | Returnează int închis sau lung (conform argumentului) | dublu sau plutitor |
tavan | Returnează cel mai mic număr întreg care este mai mare sau egal cu argumentul | Dubla |
podea | Returnează cel mai mare număr întreg care este mai mic sau egal cu argumentul | Dubla |
min | Returnează cel mai mic dintre cele două argumente | Dublu, plutitor, int, lung |
max | Returnează cel mai mare dintre cele două argumente | Dublu, plutitor, int, lung |
Mai jos este implementarea codului metodelor de mai sus:
Notă: Nu este nevoie să importați în mod explicit java.lang.Math ca importat implicit. Toate metodele sale sunt statice.
Variabilă întreagă
int i1 = 27;int i2 = -45;
Variabile duble (zecimale)
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));}}Ieșire:
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));}}Ieșire:
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));}}Ieșire:
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));}}Ieșire:
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) Să aruncăm o privire la tabelul de mai jos care ne arată metodele exponențiale și logaritmice și descrierea sa-
Metodă | Descriere | Argumente |
exp | Returnează baza logului natural (e) la puterea argumentului | Dubla |
Buturuga | Returnează jurnalul natural al argumentului | dubla |
Pow | Ia 2 argumente ca intrare și returnează valoarea primului argument ridicat la puterea celui de-al doilea argument | Dubla |
podea | Returnează cel mai mare număr întreg care este mai mic sau egal cu argumentul | Dubla |
Sqrt | Returnează rădăcina pătrată a argumentului | Dubla |
Mai jos este implementarea codului metodelor de mai sus: (Se utilizează aceleași variabile ca mai sus)
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));}}Ieșire:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Să aruncăm o privire la tabelul de mai jos care ne arată metodele trigonometrice și descrierea sa-
Metodă | Descriere | Argumente |
Păcat | Returnează sinusul argumentului specificat | Dubla |
Cos | Returnează Cosinusul argumentului specificat | dubla |
Tan | Returnează tangenta argumentului specificat | Dubla |
Atan2 | Convertește coordonatele dreptunghiulare (x, y) în polare (r, theta) și returnează theta | Dubla |
la grade | Convertește argumentele în grade | Dubla |
Sqrt | Returnează rădăcina pătrată a argumentului | Dubla |
toRadians | Convertește argumentele în radiani | Dubla |
Argumentele implicite sunt în radiani
Mai jos este implementarea codului:
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));}}Ieșire:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Acum, cu cele de mai sus, vă puteți proiecta propriul calculator științific în Java.