Avec Java Math, vous pouvez effectuer des calculs simples. Les méthodes sont nom­breuses et couvrent également les lo­ga­rithmes et la tri­go­no­mé­trie. La syntaxe est re­la­ti­ve­ment simple et donc facile à apprendre.

Qu’est-ce que Java Math ?

Si vous souhaitez effectuer des opé­ra­tions avec des calculs nu­mé­riques simples, le langage de pro­gram­ma­tion connaît pour cela le standard Math. Cette classe Java ne doit pas être importée sé­pa­ré­ment et dispose de nom­breuses méthodes que nous allons encore énumérer et expliquer plus en détail au cours de cet article. La classe Math n’est pas ins­tan­ciée et toutes ses méthodes sont utilisées de manière statique. Même les deux cons­tantes de la classe sont statiques : le nombre d’Euler (ap­proxi­ma­ti­ve­ment e = 2,7182818284590) comme base pour le lo­ga­rithme naturel et la fonction ex­po­nen­tielle naturelle, ainsi que le nombre cir­cu­laire Pi (ap­proxi­ma­ti­ve­ment π = 3,1415926535). La classe Math est contenue dans le paquet java.lang. Le type de résultat des calculs est gé­né­ra­le­ment « double ».

Dé­ter­mi­ner la valeur absolue

Le fonc­tion­ne­ment et la syntaxe de la classe Java Math peuvent être mieux illustrés par des exemples et en relation avec les dif­fé­rentes méthodes. Si vous souhaitez dé­ter­mi­ner la valeur absolue d’un paramètre, vous pouvez utiliser abs(). Par valeur absolue, on entend la distance entre un nombre et 0 ou un nombre sans signe. Le résultat sera donc toujours positif. Les types autorisés pour cette méthode sont double, float, int et long. C’est ainsi que Math.abs fonc­tionne avec un nombre positif. Pour la sortie, nous utilisons ici et dans les exemples suivants la commande Java System.out.println.

public class Main {
public static void main(String args[]) {
int nombre = +7;
System.out.println("Le nombre d'origine est : " + nombre);
System.out.println("La valeur absolue est : Math.abs(" + nombre + ") = " + Math.abs(nombre));
}
}
java

La sortie cor­res­pon­dante ressemble à ceci :

Le nombre d'origine est : 7
La valeur absolue est : Math.abs(7) = 7
java

Vous pouvez aussi utiliser une valeur initiale négative. Le résultat restera tout de même positif. Si l’on reprend le même exemple que pré­cé­dem­ment :

public class Main {
public static void main(String args[]) {
int nombre = -7;
System.out.println("Le nombre d'origine est : " + nombre);
System.out.println("La valeur absolue est : Math.abs(" + nombre + ") = " + Math.abs(nombre));}
}
java

La sortie est glo­ba­le­ment la même que dans l’exemple précédent :

Le nombre d'origine est : -7
La valeur absolue est : Math.abs(-7) = 7
java

La méthode ignore donc le signe du nombre entier négatif (-7) et renvoie donc également « 7 » comme résultat.

Afficher la plus grande valeur

La méthode max() permet de dé­ter­mi­ner la plus grande valeur de deux entrées. Cela ressemble à ceci :

public class Main {
public static void main(String args[]) {
double nombre = Math.max(3, 9);
System.out.println("Le nombre le plus grand est : " + nombre);
}
}
java

La sortie cor­res­pon­dante est celle-ci :

Le nombre le plus grand est : 9.0
java

Dé­ter­mi­ner la plus petite valeur

La classe Math en Java fonc­tionne de manière très similaire si vous souhaitez dé­ter­mi­ner la plus petite valeur. La méthode ap­pro­priée est min() :

public class Main {
public static void main(String args[]) {
double nombre = Math.min(3, 9);
System.out.println("Le nombre le plus petit est : " + nombre);
}
}
java

Vous obtenez alors la sortie suivante :

Le nombre le plus petit est : 3.0
java

Calculer une puissance

Alors que les exemples pré­cé­dents étaient encore assez simples, il y a aussi des calculs plus so­phis­ti­qués que la classe Java Math peut prendre en charge pour vous. La méthode pour le calcul de puissance s’appelle par exemple pow(). Pour cela, nous dé­fi­nis­sons d’abord une base et un exposant et laissons ensuite le calcul s’effectuer.

public class Main {
public static void main(String args[]) {
double base = 4;
double exposant = 2;
double puissance = Math.pow(base, exposant);
System.out.println("Le résultat est : " + puissance);
}
}
java

Voici à quoi ressemble notre sortie :

Le résultat est : 16.0
java

Tirer la racine carrée

La classe peut aussi être utilisée pour le calcul des racines carrées avec la méthode sqrt(). Dans l’exemple suivant, nous calculons la racine carrée de 64 :

public class Main {
public static void main(String args[]) {
double nombre = 64;
double racine = Math.sqrt(nombre);
System.out.println("Le résultat est : " + racine);
}
}
java

Nous obtenons ainsi cette sortie :

Le résultat est : 8.0
java

Dé­ter­mi­ner des nombres aléa­toires

Avec la méthode random(), vous obtenez un nombre aléatoire qui se situe soit entre 0.0 et 1.0, soit dans une plage que vous dé­fi­nis­sez vous-même. Nous vous montrons les deux pos­si­bi­li­tés :

public class Main {
public static void main(String args[]) {
double nombreAleatoire;
nombreAleatoire = Math.random();
System.out.println(nombreAleatoire);
}
}
java

Une sortie possible serait alors par exemple celle-ci :

0.7488711506123137
java

Vous pouvez également limiter les résultats possibles et n’autoriser que les nombres entiers compris entre 0 et 100. Pour cela, utilisez le code suivant :

public class Main {
public static void main(String args[]) {
int nombreAleatoire = (int) (Math.random() * 101);
System.out.println(nombreAleatoire);
}
}
java

Cela permet d’obtenir des résultats aléa­toires comme celui-ci :

27
java

Liste des méthodes les plus im­por­tantes

Il existe de nom­breuses méthodes que vous pouvez utiliser avec la classe Java Math. Voici les plus im­por­tantes :

Méthode Fonction
abs() Retourne la valeur absolue d’un argument.
max() Rend la plus grande de deux valeurs.
min() Rend la plus petite des deux valeurs.
pow() Rend la valeur de la puissance.
sqrt() Calcule la racine carrée.
random() Rend une valeur double aléatoire.
cbrt() Calcule la racine cubique.
log() Rend le lo­ga­rithme naturel d’une valeur double.
sin() Calcule le sinus d’une valeur double.
cos() Calcule le cosinus d’une valeur double.
tan() Calcule la valeur de la tangente d’une valeur double.
round() Arrondit une valeur double à un entier supérieur ou inférieur.
negateExact() Indique la valeur opposée d’un argument.
floor() Arrondit la plus grande valeur de double qui est in­fé­rieure ou égale à l’argument donné.
Aller au menu principal