CodeGym /Java-blogg /Tilfeldig /Bruke Math.pow()-metoden i Java
John Squirrels
Nivå
San Francisco

Bruke Math.pow()-metoden i Java

Publisert i gruppen
Java-språket er utstyrt med et omfattende bibliotek for matematiske funksjoner og operasjoner. Den kalles "Math"-klassen, og den ligger i java.lang -pakken. Math-biblioteket inkluderer metoder for grunnleggende numeriske operasjoner, trigonometri, finne min-maks, generering av tilfeldige tall og logaritmiske operasjoner. I dagens veiledning vil vi fokusere på Math.pow()- metoden, som brukes til å beregne potenser av tall ved hjelp av en grunntall og en eksponent. La oss komme i gang. Uttrykket 'nte potens av a' kan matematisk skrives som en n. Vi kan definere begrepene i uttrykkene som følger. a - base n - eksponent La oss vurdere eksponenten. Vi kan identifisere det som antall ganger en multiplikasjonsoperasjon gjentas. Grunnlaget er tallet som blir multiplisert med seg selv. Bruke Math.pow()-metoden i Java - 1La oss nå lage en enkel Java-metode for å beregne kraften til et tall. Vær oppmerksom på at i det følgende eksempelet sender vi to argumenter inn i 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 kjører eksempelkoden ovenfor, vil den returnere 32. Du forestiller deg kanskje hvorfor vi ikke bare kan skrive base^eksponent. Vi kan ikke gjøre det fordi Java ikke har noen eksponentieringsoperator som vi kan bruke i en enkelt kodelinje. Med tanke på koden ovenfor, er det åpenbart at vi måtte bruke mye tid på å skrive denne metoden. Dessuten, hvis vi skal beregne høye potenser, vil metoden ta betydelig tid å fullføre disse beregningene siden vi bruker for løkker. I tillegg til det vil løkker hindre oss i å utføre potensberegninger med brøkeksponenter. Og denne metoden har ikke god beregningskompleksitet, fordi den ikke er særlig gunstig da det er mer rom for optimalisering. Med tanke på hvor hyppig eksponentiering og andre matematiske operasjoner brukes av programmerere, tilbake på dagen opprettet Javas utviklere et bibliotek kalt 'Math', som er dedikert til å forenkle matematiske operasjoner. Derfor, i stedet for å skrive en kraftfunksjon fra bunnen av, kan vi dra nytte av dette biblioteket som er inkludert i Java Lang-pakken.

Hva er Math.pow-metoden og hvordan bruker vi den?

Math.pow finnes i java.lang-pakken som en metode for Math-biblioteket. Den brukes til å beregne potensen til tall, både heltall og dobler. La oss vurdere syntaksen.

public static double pow(double base, double exponent)
Som vi kan se i syntaksen, tar java.lang.Math.pow() -metoden inn to argumenter. Den første er basen og den andre er eksponenten. Dette vil returnere basiseksponent som utdata. La oss se hvordan vi kan kalle det.

Heve et tall til en makt i Java ved hjelp av Math.pow

La oss finne verdien av 5 4 ved å bruke 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);
    }    
}
Utgangen er 625.0. Som du kan se, er det en dobbel verdi. Hvis du plages av desimaltegnet, kan vi enkelt bli kvitt det ved å kaste tallet til et heltall som følger. Merk at vi endrer den første linjen inne i hovedmetoden.

 int answer = (int) Math.pow(5, 4);
Nå er resultatet 625. La oss bruke brøktall for både grunntall og eksponent og prøve å få et svar. La oss se hva verdien av 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 vil gi ut 2,729575167846423. Hvis du bruker en kalkulator, vil du se at den gir samme svar. La oss gå gjennom ett eksempel til før vi går videre til neste avsnitt. Vi vil heve et tall til en negativ potens og sammenligne resultatene. For dette eksemplet vil vi velge 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 utgangen 0,0625.

Rask eksempel: Hvordan avrunde svaret ditt

La oss si at vi må finne verdien av 1,25 4,5 . Svaret er 2,729575167846423. Ganske ofte er det nødvendig å runde resultatet. La oss prøve å få et svar nøyaktig med fjerde desimal. Hvordan gjøre det? Hva om vi bare krever de første 4 desimalene? Vi kan bruke java.lang.Math.round -metoden til det. Men ettersom Math.round avrunder verdien til nærmeste heltall, må vi multiplisere den med antall desimaler og deretter runde og dividere igjen.

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

Hvordan bruke Math.pow riktig

Når vi bruker java.lang.Math.pow- metoden, er det et par ting å huske på.
  1. Hvis eksponentparameteren er null, vil utgangen være 1,0. Dette er fordi potensen av null for et hvilket som helst tall er definert som én.
  2. Hvis eksponentparameteren er én, vil utgangen være basisparameteren. Dette er fordi hvis du hever et hvilket som helst tall til potensen 1, er resultatet det samme som grunntallet.
  3. Hvis grunntallet er negativ/positiv null og eksponentparameteren er et negativt tall, er resultatet Uendelig. (Negative nuller kan oppstå på grunn av avrunding av tall mellom null og det minste representable negative ikke-null tall).
  4. Hvis eksponentparameteren er NaN, vil utgangen også være NaN.
La oss vurdere ett tilfelle der denne tredje situasjonen kan skje.

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 gi ut NaN. Så hvis koden din resulterer i NaN, ville det være lurt å sjekke om eksponentargumentet er NaN. I tilfelle du lurer på hva NaN er, betyr det 'ikke et tall' og indikerer at verdien ikke er definert. Vi tror at du nå er klar til å gå videre og ta lang.Math.pow() til bruk i applikasjonene dine.

Konklusjon

Java.lang.Math.pow ()- metoden er en fin måte å enkelt finne kraften til forskjellige tall, både heltall så vel som brøkverdier. I motsetning til en metode du kanskje skriver selv, er den svært optimalisert og godt egnet for en rekke tidskritiske applikasjoner. Selv om det gir ut alle resultatene som dobler, kan vi alltid kaste verdien inn i et heltall som vi gjorde i eksemplet. Dessuten, for enkelhets skyld, tilbyr java.lang.Math- biblioteket metoder for å avrunde resultatet til ønsket antall desimaler.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION