Comment utiliser les API Math en Java ?

Ce n’est pas surprenant que les ordinateurs soient bons pour calculer des nombres. Java est livré avec une puissante classe Math avec de nombreuses méthodes pour vous faciliter la vie. Nous allons couvrir quelques méthodes courantes ici. Lorsque vous travaillez sur vos propres projets, consultez la Javadoc de Math pour voir quelles autres méthodes peuvent vous aider.

Faites particulièrement attention aux types de retour dans les questions mathématiques. Ils constituent une excellente occasion de vous piéger!

Trouver le Minimum et le Maximum

Les méthodes min() et max() comparent deux valeurs et renvoient l’une d’entre elles.

Les signatures de méthode pour min() sont les suivantes:

public static double min(double a, double b)
public static float min(float a, float b)
public static int min(int a, int b)
public static long min(long a, long b)

Il y a quatre méthodes surchargées, donc vous avez toujours une API disponible avec le même type. Chaque méthode renvoie celui de a ou b qui est le plus petit. La méthode max() fonctionne de la même manière, sauf qu’elle renvoie la valeur la plus grande.

Voici comment utiliser ces méthodes:

int premier = Math.max(3, 7);  // 7
int second = Math.min(7, -9);  // -9

La première ligne renvoie 7 car il est plus grand. La deuxième ligne renvoie -9 car il est plus petit. Rappelez-vous de l’école que les valeurs négatives sont plus petites que les valeurs positives.

Arrondir des Nombres

La méthode round() élimine la partie décimale de la valeur, choisissant le nombre supérieur suivant si approprié. Si la partie fractionnelle est .5 ou plus, nous arrondissons vers le haut.

Les signatures de méthode pour round() sont les suivantes:

public static long round(double num)
public static int round(float num)

Il y a deux méthodes surchargées pour garantir qu’il y a assez de place pour stocker un double arrondi si nécessaire. Voici comment utiliser cette méthode:

long bas = Math.round(123.45);   // 123
long haut = Math.round(123.50);  // 124
int deFloat = Math.round(123.45f); // 123

La première ligne renvoie 123 parce que .45 est plus petit qu’une moitié. La deuxième ligne renvoie 124 parce que la partie fractionnelle est tout juste une moitié. La dernière ligne montre qu’un f explicite déclenche la signature de méthode qui renvoie un int.

Déterminer le Plafond et le Plancher

La méthode ceil() prend une valeur double. Si c’est un nombre entier, elle renvoie la même valeur. Si elle a une valeur fractionnelle, elle arrondit au nombre entier supérieur suivant. Par contraste, la méthode floor() élimine toutes les valeurs après la décimale.

Les signatures de méthode sont les suivantes:

public static double ceil(double num)
public static double floor(double num)

Voici comment utiliser ces méthodes:

double c = Math.ceil(3.14);  // 4.0
double f = Math.floor(3.14); // 3.0

La première ligne renvoie 4.0 parce que quatre est l’entier juste supérieur. La deuxième ligne renvoie 3.0 parce que c’est l’entier juste inférieur.

Calculer des Exposants

La méthode pow() gère les exposants. Comme vous vous souvenez peut-être de votre cours de mathématiques à l’école primaire, 3² signifie trois au carré. C’est 3 * 3 ou 9. Les exposants fractionnaires sont également autorisés. Seize à la puissance .5 signifie la racine carrée de 16, qui est 4.

La signature de méthode est la suivante:

public static double pow(double nombre, double exposant)

Voici comment utiliser cette méthode:

double auCarre = Math.pow(5, 2); // 25.0

Notez que le résultat est 25.0 plutôt que 25 puisque c’est un double.

Générer des Nombres Aléatoires

La méthode random() renvoie une valeur supérieure ou égale à 0 et inférieure à 1. La signature de méthode est la suivante:

public static double random()

Voici comment utiliser cette méthode:

double nombre = Math.random();

Comme c’est un nombre aléatoire, nous ne pouvons pas connaître le résultat à l’avance. Cependant, nous pouvons exclure certains nombres. Par exemple, il ne peut pas être négatif car c’est inférieur à 0. Il ne peut pas être 1.0 car ce n’est pas inférieur à 1.

Dans les scénarios du monde réel, il est courant d’utiliser la classe Random pour générer des nombres pseudo-aléatoires. Elle permet de générer des nombres de différents types.