CodeGym /Java blog /Tilfældig /Brug af Math.pow()-metoden i Java
John Squirrels
Niveau
San Francisco

Brug af Math.pow()-metoden i Java

Udgivet i gruppen
Java-sproget er udstyret med et omfattende bibliotek for matematiske funktioner og operationer. Den kaldes "Math"-klassen, og den ligger i java.lang -pakken. Math-biblioteket indeholder metoder til grundlæggende numeriske operationer, trigonometri, finde min-max, generering af tilfældige tal og logaritmiske operationer. I dagens vejledning vil vi fokusere på Math.pow()- metoden, som bruges til at beregne potenser af tal ved hjælp af en base og en eksponent. Lad os komme igang. Udtrykket 'n'te potens af a' kan matematisk skrives som et n. Vi kan definere begreberne i udtrykkene som følger. a - base n - eksponent Lad os overveje eksponenten. Vi kan identificere det som antallet af gange en multiplikationsoperation gentages. Grundlaget er det tal, der bliver ganget med sig selv. Brug af Math.pow()-metoden i Java - 1Lad os nu lave en simpel Java-metode til at beregne styrken af ​​et tal. Bemærk venligst, at i det følgende eksempel overfører vi to argumenter til powerFunction()- metoden, som er henholdsvis basen og eksponenten.

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;
   }
}
Hvis vi kører ovenstående eksempelkode, ville den returnere 32. Du forestiller dig måske, hvorfor vi ikke bare kan skrive base^eksponent. Det kan vi ikke, fordi Java ikke har nogen eksponentieringsoperator, som vi kan bruge i en enkelt kodelinje. I betragtning af ovenstående kode er det indlysende, at vi skulle bruge en del tid på at skrive denne metode. Desuden, hvis vi skal beregne høje kræfter, vil metoden tage en betydelig mængde tid at fuldføre disse beregninger, da vi bruger til sløjfer. Derudover vil sløjfer forhindre os i at udføre effektberegninger med brøkeksponenter. Og denne metode har ikke god beregningsmæssig kompleksitet, fordi den ikke er særlig gunstig, da der er mere plads til optimering. I betragtning af hvor hyppig eksponentiering og andre matematiske operationer bruges af programmører, dengang oprettede Javas udviklere et bibliotek kaldet 'Math', som er dedikeret til at lette matematiske operationer. Derfor, i stedet for at skrive en power-funktion fra bunden, kan vi drage fordel af dette bibliotek, der er inkluderet i Java Lang-pakken.

Hvad er Math.pow-metoden, og hvordan bruger vi den?

Math.pow kan findes i java.lang-pakken som en metode til Math-biblioteket. Det bruges til at beregne potensen af ​​tal, både heltal såvel som fordoblinger. Lad os overveje dets syntaks.

public static double pow(double base, double exponent)
Som vi kan se i syntaksen, tager java.lang.Math.pow()- metoden to argumenter ind. Den første er basen og den anden er eksponenten. Dette vil returnere basiseksponenten som output. Lad os se, hvordan vi kan kalde det.

Hæve et tal til en magt i Java ved hjælp af Math.pow

Lad os finde værdien af ​​5 4 ved hjælp af 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);
    }    
}
Outputtet er 625.0. Som du kan se, er det en dobbelt værdi. Hvis du er generet af decimaltegnet, kan vi nemt slippe af med det ved at støbe tallet til et heltal som følger. Bemærk, at vi ændrer den første linje inde i hovedmetoden.

 int answer = (int) Math.pow(5, 4);
Nu er resultatet 625. Lad os bruge brøktal for både grundtal og eksponent og forsøge at få et svar. Lad os se, hvad værdien af ​​1,25 4,5 er.

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);
   }
}
Dette ville udsende 2,729575167846423. Hvis du bruger en lommeregner, vil du se, at den giver det samme svar. Lad os gennemgå endnu et eksempel, før vi går videre til næste afsnit. Vi vil hæve et tal til en negativ styrke og sammenligne resultaterne. I dette eksempel vælger vi 4 som basis og -2 som eksponent.

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);
     }    
}
Vi får output 0,0625.

Hurtigt eksempel: Sådan runder du dit svar

Lad os sige, at vi skal finde værdien af ​​1,25 4,5 . Svaret er 2,729575167846423. Ganske ofte er det nødvendigt at runde resultatet. Lad os prøve at få et svar nøjagtigt med den fjerde decimal. Hvordan gør man det? Hvad hvis vi kun kræver de første 4 decimaler? Vi kan bruge java.lang.Math.round -metoden til det. Men da Math.round afrunder værdien til det nærmeste heltal, bliver vi nødt til at gange det med antallet af decimaler og derefter afrunde og dividere igen.

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);
     }
     
}
Udgangen er 2,73.

Sådan bruges Math.pow korrekt

Når vi bruger java.lang.Math.pow- metoden, er der et par ting at huske på.
  1. Hvis eksponentparameteren er nul, vil outputtet være 1,0. Dette skyldes, at nulpotensen for ethvert tal er defineret som et.
  2. Hvis eksponentparameteren er én, vil outputtet være basisparameteren. Dette skyldes, at hvis du hæver et hvilket som helst tal til potensen 1, er resultatet det samme som grundtallet.
  3. Hvis grundtallet er negativt/positivt nul, og eksponentparameteren er et negativt tal, så er resultatet Uendelig. (Negative nuller kan forekomme på grund af afrunding af tal mellem nul og det mindste repræsentative negative ikke-nul tal).
  4. Hvis eksponentparameteren er NaN, vil outputtet også være NaN.
Lad os overveje et tilfælde, hvor denne tredje situation kan ske.

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);
     }     
}
Dette vil udsende NaN. Så hvis din kode resulterer i NaN, ville det være klogt at kontrollere, om eksponentargumentet er NaN. Hvis du undrer dig over, hvad NaN er, betyder det 'ikke et tal' og indikerer, at værdien ikke er blevet defineret. Vi mener, at du nu er klar til at gå videre og sætte lang.Math.pow() til brug i dine applikationer.

Konklusion

Java.lang.Math.pow ()- metoden er en fantastisk måde at nemt finde styrken af ​​forskellige tal, både heltal såvel som brøkværdier. I modsætning til en metode, du måske selv skriver, er den yderst optimeret og velegnet til en række tidskritiske applikationer. Selvom det udlæser alle resultaterne som fordobler, kan vi altid støbe værdien ind i et heltal, som vi gjorde i eksemplet. For nemheds skyld giver java.lang.Math- biblioteket desuden metoder til at afrunde resultatet til det foretrukne antal decimaler.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION