CodeGym/Blog Java/France/Utilisation de la méthode Math.pow en Java
Auteur
Artem Divertitto
Senior Android Developer at United Tech

Utilisation de la méthode Math.pow en Java

Publié dans le groupe France
membres
Le langage Java est équipé d'une bibliothèque complète pour les fonctions et opérations mathématiques. Il s'agit de la classe « Math », qui contient notamment Math.pow Java, et qui réside dans le package java.lang. La bibliothèque Math comprend des méthodes pour les opérations numériques fondamentales, la trigonométrie, la recherche de min-max, la génération de nombres aléatoires et les opérations logarithmiques. Dans le tutoriel d'aujourd'hui, nous nous concentrerons sur la méthode Math.pow() qui est utilisée pour calculer la puissance en Java à l'aide d'une base et d'un exposant. Commençons ! L'expression « a puissance n » peut être mathématiquement écrite sous la forme an. Nous pouvons définir les termes des expressions comme suit : a - base, n - exposant. Considérons l'exposant. Nous pouvons l'identifier comme le nombre de fois qu'une opération de multiplication est répétée. La base est le nombre qui se multiplie par lui-même.Utilisation de la méthode Math.pow en Java - 1Créons maintenant une méthode Java simple pour calculer la puissance d'un nombre. Note que dans l'exemple suivant, nous passons deux arguments à la méthode powerFunction(), la base et l'exposant, respectivement.
public class Main {

   public static void main(String[] args) {
       int result = powerFunction(2, 5);
       System.out.println("2 raised to the power of 5 = " + result);
   }

   static int powerFunction(int base, int exponent) {
       int result = 1;
       for (int i = 0; i < exponent; i++) {
           result = base * result;
       }
       return result;
   }
}
Si nous utilisons le code d'exemple ci-dessus, il retournera 32. Tu te demandes peut-être pourquoi nous ne pouvons pas simplement écrire base^exposant. Nous ne pouvons pas le faire, car Java n'a pas d'opérateur d'élévation à une puissance que nous pouvons utiliser dans une seule ligne de code. En observant le code ci-dessus, il est évident que nous avons dû passer du temps à écrire cette méthode. En outre, si nous voulons calculer des puissances élevées, la méthode prendra beaucoup de temps à effectuer ces calculs, puisque nous utilisons des boucles for. En plus de cela, les boucles nous empêcheront d'effectuer des calculs de puissance avec des exposants fractionnaires. Et cette méthode n'a pas une bonne complexité de calcul, car elle laisse de la place à l'optimisation. Compte tenu de la fréquence d'utilisation de l'élévation à une puissance et d'autres opérations mathématiques par les programmeurs, les développeurs Java de jadis ont créé une bibliothèque appelée « Math », qui se consacre à faciliter les opérations mathématiques. Ainsi, au lieu d'écrire une fonction de puissance à partir de rien, nous pouvons profiter de cette bibliothèque qui est incluse dans le package Java Lang.

Qu'est-ce que la méthode Math.pow et comment l'utiliser ?

Math.pow se trouve dans le package java.lang en tant que méthode de la bibliothèque Math. Elle est utilisée pour calculer la puissance des nombres, qu'ils soient du type integer ou double. Étudions sa syntaxe.
public static double pow(double base, double exponent)
Comme nous pouvons le voir dans la syntaxe, la méthode java.lang.Math.pow() prend deux arguments. Le premier est la base et le second est l'exposant. Elle renvoie baseexposant en sortie. Voyons comment nous pouvons l'appeler.

Élever un nombre à une puissance en Java avec Math.pow

Déterminons la valeur de 54 avec Math.pow.
import java.lang.Math;
public class MyClass{
    public static void main(String []args){
       double answer = Math.pow(5, 4);
// java.lang.Math.pow() method

       System.out.println("5 raised to the power of 4 = " + answer);
    }
}
La sortie est 625.0. Comme tu peux le voir, c'est un double. Si le point décimal te perturbe, nous pouvons facilement nous en débarrasser en convertissant le nombre en integer comme suit. Note que nous changeons la première ligne de la méthode main.
int answer = (int) Math.pow(5, 4);
Le résultat est maintenant 625. Utilisons des nombres fractionnaires pour la base et l'exposant et essayons d'obtenir une réponse. Découvrons la valeur de 1.254.5.
import java.lang.Math;

public class MyClass {

   public static void main(String[] args) {
       double answer = Math.pow(1.25, 4.5);
// java.lang.Math.pow() method

       System.out.println("1.25 raised to the power of 4.5 = " + answer);
   }
}
La sortie serait 2.729575167846423. Si tu utilises une calculatrice, tu verras qu'elle renvoie la même réponse. Prenons un autre exemple avant de passer à la section suivante. Nous allons élever un nombre à une puissance négative et comparer les résultats. Pour cet exemple, nous choisirons 4 comme base et -2 comme exposant.
import java.lang.Math;

public class MyClass{

     public static void main(String []args){
        double answer = Math.pow(4, -2);
// java.lang.Math.pow() method

        System.out.println(answer);
     }
}
Nous obtenons la sortie 0.0625.

Exemple rapide : Comment arrondir ta réponse

Disons que nous avons besoin de trouver la valeur de 1.254.5. La réponse est 2.729575167846423. Très souvent, il est nécessaire d'arrondir le résultat. Essayons d'obtenir une réponse précise à la quatrième décimale. Comment le faire ? Que faire si nous n'avons besoin que des 4 premières décimales ? Nous pouvons utiliser la méthode java.lang.Math.round pour cela. Cependant, comme Math.round arrondit la valeur à l'entier le plus proche, nous devrons la multiplier par le nombre de décimales, puis arrondir et diviser à nouveau.
import java.lang.Math;

public class MyClass{

     public static void main(String []args){
        double answer = Math.pow(1.25, 4.5);
        answer = Math.round(answer*100.0)/100.0;

        System.out.println(answer);
     }

}
La sortie est 2.73.

Comment utiliser Math.pow correctement

Lorsque nous utilisons la méthode java.lang.Math.pow, il y a quelques points à garder à l'esprit.
  1. Si le paramètre d'exposant est zéro, la sortie sera 1.0. C'est parce que la puissance de zéro pour n'importe quel nombre est définie comme la valeur un.
  2. Si le paramètre d'exposant est un, la sortie sera le paramètre de base. En effet, si tu élèves n'importe quel nombre à la puissance 1, le résultat est le même que la base.
  3. Si la base est un zéro négatif/positif et que le paramètre d'exposant est un nombre négatif, alors le résultat est Infini. (Les zéros négatifs peuvent se produire en raison de l'arrondi de nombres entre zéro et le plus petit nombre négatif non nul représentable).
  4. Si le paramètre d'exposant est NaN, la sortie sera également NaN.
Considérons un cas où cette 3e situation peut se produire.
import java.lang.Math;

public class MyClass{

     public static void main(String []args){
        double base = 5;
        double exponent = Double.NaN;

        double answer = Math.pow(base, exponent);

        System.out.println(answer);
     }
}
La sortie sera NaN. Donc si ton code produit NaN, il serait sage de vérifier si l'argument d'exposant est NaN. Si tu te demandes ce qu'est NaN, cela signifie « N'est pas un nombre » et indique que la valeur n'a pas été définie. Nous croyons que tu sais maintenant tout ce qu'il faut pour aller de l'avant et commencer à utiliser lang.Math.pow() dans tes applications.

Conclusion

La méthode java.lang.Math.pow() est un excellent moyen de trouver facilement la puissance de différents nombres, qu'il s'agisse d'entiers ou de valeurs fractionnaires. Contrairement à une méthode que tu pourrais écrire toi-même, elle est hautement optimisée et bien adaptée pour diverses applications sensibles au temps. Bien qu'elle donne tous ses résultats sous forme de double, nous pouvons toujours convertir la valeur en integer comme nous l'avons fait dans l'exemple. Par ailleurs, à des fins de commodité, la bibliothèque java.lang.Math offre des méthodes pour arrondir le résultat au nombre de décimales souhaité.
Cet article est également disponible en anglais:
This article is also available in English to help you master Java’s Math.pow() method.
Commentaires
  • Populaires
  • Nouveau
  • Anciennes
Tu dois être connecté(e) pour laisser un commentaire
Cette page ne comporte pas encore de commentaires