Calcul matematicși clasa Math
Pentru efectuarea diferitelor operațiuni matematice în Java, în pachetul java.lang este definită clasa Math. Să analizăm metodele sale de bază:
- abs(double value): returnează valoarea absolută a argumentului value
double result = Math.abs(-13.5); // 13.5
- acos(double value): returnează arccosinusul valorii value. Parametrul value trebuie să aibă o valoare între -1 și 1
double result = Math.acos(1); // 0.0
- asin(double value): returnează arcsinusul valorii value. Parametrul value trebuie să aibă o valoare între -1 și 1
- atan(double value): returnează arctangenta valorii value
- cbrt(double value): returnează rădăcina cubică a valorii value
double result = Math.cbrt(27); // 3
- ceil(double value): returnează cel mai mic număr întreg cu virgulă mobilă care nu este mai mic decât value
double result = Math.ceil(2.34); // 3
- cos(double d): returnează cosinusul unghiului d
- cosh(double d): returnează cosinusul hiperbolic al unghiului d
- exp(double d): returnează baza logaritmului natural ridicată la puterea d
- floor(double d): returnează cel mai mare număr întreg care nu este mai mare decât d
double result = Math.floor(2.56); // 2
- floorDiv(int a, int b): returnează rezultatul divizării întregi a lui a la b
System.out.println(Math.floorDiv(1, 2)); // 0
System.out.println(Math.floorDiv(7, 2)); // 3
System.out.println(Math.floorDiv(9, 2)); // 4
- log(double a): returnează logaritmul natural al numărului a
- log1p(double d): returnează logaritmul natural al numărului (d + 1)
- log10(double d): returnează logaritmul zecimal al numărului d
- max(double a, double b): returnează numărul maxim dintre a și b
- min(double a, double b): returnează numărul minim dintre a și b
- pow(double a, double b): returnează numărul a ridicat la puterea b
- random(): returnează un număr aleatoriu între 0.0 și 1.0
- rint(double value): returnează un număr de tip double care reprezintă cel mai apropiat număr întreg de valoarea value
System.out.println(Math.rint(2)); // 2.0
System.out.println(Math.rint(2.3)); // 2.0
System.out.println(Math.rint(2.5)); // 2.0
System.out.println(Math.rint(2.5001)); // 3.0
System.out.println(Math.rint(2.8)); // 3.0
- round(double d): returnează numărul d rotunjit la cel mai apropiat număr întreg
System.out.println(Math.round(2.3)); // 2
System.out.println(Math.round(2.5)); // 3
System.out.println(Math.round(2.5001)); // 3
System.out.println(Math.round(2.8)); // 3
- scalb(double value, int factor): returnează produsul dintre numărul value și 2 la puterea factor
System.out.println(Math.scalb(5, 3)); // 5*2*2*2 = 40
System.out.println(Math.scalb(3, 4)); // 3*2*2*2*2 = 48
- signum(double value): returnează 1 dacă valoarea value este pozitivă și -1 dacă este negativă. Dacă value este 0, returnează 0
System.out.println(Math.signum(2.3)); // 1
System.out.println(Math.signum(-2.3)); // -1
- sin(double value): returnează sinusul unghiului value
- sinh(double value): returnează sinusul hiperbolic al unghiului value
- sqrt(double value): returnează rădăcina pătrată a numărului value
double result1 = Math.sqrt(16); // 4
- tan(double value): returnează tangenta unghiului value
- tanh(double value): returnează tangenta hiperbolică a unghiului value
- toDegrees(double value): convertește radianii în grade și toRadians(double value) convertește gradele în radiani
System.out.println(Math.toDegrees(3.14159)); // 180
System.out.println(Math.toRadians(90)); // 1,57079....
Clasa Math definește, de asemenea, două constante: Math.E și Math.PI. De exemplu, calculăm aria unui cerc:
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Introduceți raza cercului: ");
int radius = in.nextInt();
long area = Math.round(Math.PI * Math.pow(radius, 2));
System.out.printf("Aria cercului cu raza %d este egală cu %d \n", radius, area);
}
}
Rezultatul în consolă:
Introduceți raza cercului: 10
Aria cercului cu raza 10 este egală cu 314