La classe Math in Java: come funziona
La classe Math in Java ti permette di eseguire calcoli semplici. Offre numerosi metodi diversi per svolgere operazioni di base, ma anche operazioni logaritmiche e trigonometriche. La sintassi è piuttosto semplice e quindi facile da imparare.
Che cos’è la classe Math in Java?
Se desideri eseguire operazioni con semplici calcoli numerici, questo linguaggio di programmazione mette a tua disposizione lo standard Math. Non è necessario importare appositamente questa classe Java, che dispone di numerosi metodi che ti descriveremo in dettaglio nelle parti successive di questo articolo. La classe Math non richiede l’istanziazione e utilizza tutti i propri metodi soltanto in modo statico. Anche le due costanti della classe sono statiche: il numero di Eulero (e = 2,7182818284590 approssimato), come base del logaritmo naturale della funzione esponenziale naturale, e il pi greco (circa π = 3,1415926535 approssimato). La classe Math è inclusa nel pacchetto java.lang. Il risultato dei calcoli è di tipo “double” nella maggior parte dei casi.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax
Calcolo di valori assoluti
Il modo migliore per spiegare il funzionamento e la sintassi della classe Math in Java è con alcuni esempi nel contesto dei singoli metodi. Per calcolare il valore assoluto di un parametro puoi utilizzare abs(). Per valore assoluto si intende la distanza di un numero da 0 oppure un numero senza segno. Il risultato è quindi sempre positivo. I tipi consentiti per questo metodo sono double, float, int e long. Math.abs lavora quindi con numeri positivi. Negli esempi seguenti utilizziamo il comando Java System.out.println
per ottenere il risultato.
public class Main {
public static void main(String args[]) {
int number = +7;
System.out.println ("Il numero originale è: " + number);
System.out.println ("Il numero assoluto è: " + "Math.abs (" + number + ") = " + Math.abs(number));
}
}
javaIl relativo output si presenta così:
Il numero originale è 7 Il numero assoluto è Math.abs ( 7 ) = 7
javaÈ anche possibile utilizzare un valore di partenza negativo. Il risultato rimane comunque positivo. Nel nostro esempio precedente, funzionerebbe così:
public class Main {
public static void main(String args[]) {
int number = -7;
System.out.println ("Il numero originale è: " + number);
System.out.println ("Il numero assoluto è: " + "Math.abs (" + number + ") = " + Math.abs(number));
}
}
javaIl risultato emesso coincide in generale con quello dell’esempio precedente:
Il numero originale è -7 Il numero assoluto è Math.abs ( -7 ) = 7
javaQuesto metodo ignora quindi il segno del numero intero negativo (-7) e dà comunque come risultato il valore “7”.
Emissione del valore massimo
Con il metodo max() è possibile rilevare il maggiore di due valori inseriti. Ad esempio, così:
public class Main {
public static void main(String args[]) {
double numero = Math.max(3, 9);
System.out.println ("Il numero maggiore è: " + numero);
}
}
javaIl risultato è il seguente:
Il numero maggiore è 9
javaRilevamento del valore minimo
La classe Math in Java funziona in modo simile anche per rilevare il valore minore. A tal fine, si utilizza il metodo min(), che si presenta così:
public class Main {
public static void main(String args[]) {
double numero = Math.min(3, 9);
System.out.println ("Il numero minore è: " + numero);
}
}
javaOtteniamo quindi questo risultato:
Il numero minore è 3
javaCalcolo di una potenza
Gli esempi precedenti erano effettivamente semplici, ma esistono anche casi in cui è possibile utilizzare la classe Math in Java per calcoli più complessi. Ad esempio, il metodo per il calcolo della potenza è pow(). Per questo metodo dobbiamo innanzitutto definire una base e un esponente, quindi eseguire il calcolo.
public class Main {
public static void main(String args[]) {
double base = 4;
double esponente = 2;
double potenza = Math.pow(base, esponente);
System.out.println ("Il risultato è: " + potenza);
}
}
javaIl risultato che otteniamo è il seguente:
Il risultato è 16
javaEstrazione della radice quadrata
È possibile utilizzare questa classe anche per estrarre una radice utilizzando il metodo sqrt(). Nell’esempio seguente calcoliamo la radice quadrata di 64:
public class Main {
public static void main(String args[]) {
double numero = 64;
double radice = Math.sqrt(numero);
System.out.println ("Il risultato è: " + radice);
}
}
javaIn questo modo otteniamo questo risultato:
Il risultato è 8.0
javaGenerazione di numeri casuali
Il metodo random() ti permette di ottenere un numero casuale compreso fra 0.0 e 1.0 oppure in un intervallo a tua scelta. Ti mostriamo entrambe le possibilità:
public class Main {
public static void main(String args[]) {
double numerocasuale
System.out.println(Math.random());
}
}
javaUn possibile risultato in questo esempio sarebbe:
0.7488711506123137
javaIn alternativa puoi anche restringere i risultati possibili e ottenere solo numeri interi fra 0 e 100. Per farlo, utilizza il seguente codice:
public class Main {
public static void main(String args[]) {
int numerocasuale = (int) (Math.random() * 101);
System.out.println(numero casuale);
}
}
javaIn questo modo otterrai risultati casuali di questo tipo:
27
javaElenco dei metodi principali
Con la classe Math in Java è possibile utilizzare numerosi metodi. I principali sono:
Metodo | Funzione |
---|---|
abs()
|
Restituisce il valore assoluto di un argomento. |
max()
|
Restituisce il maggiore tra due valori. |
min()
|
Restituisce il minore tra due valori. |
pow()
|
Restituisce il valore della potenza. |
sqrt()
|
Calcola la radice quadrata. |
random()
|
Restituisce un valore double casuale. |
cbrt()
|
Calcola la radice cubica. |
log()
|
Restituisce il logaritmo naturale di un valore double. |
sin()
|
Calcola il seno di un valore double. |
cos()
|
Calcola il coseno di un valore double. |
tan()
|
Calcola il valore della tangente di un valore double. |
round()
|
Arrotonda un valore double a un numero intero per eccesso o per difetto. |
negateExact()
|
Mostra il valore opposto di un argomento. |
floor()
|
Arrotonda il valore double massimo che è minore o uguale all’argomento indicato. |