CodeGym /Java blog /Véletlen /A Math.pow() metódus használata Java nyelven
John Squirrels
Szint
San Francisco

A Math.pow() metódus használata Java nyelven

Megjelent a csoportban
A Java nyelv átfogó könyvtárral rendelkezik a matematikai függvények és műveletek számára. "Math" osztálynak hívják, és a java.lang csomagban található. A Math könyvtár alapvető numerikus műveletekre, trigonometriára, min-max meghatározására, véletlen számok generálására és logaritmikus műveletekre vonatkozó módszereket tartalmaz. A mai oktatóanyagban a Math.pow() módszerre fogunk összpontosítani , amely a számok hatványainak kiszámítására szolgál bázis és kitevő használatával. Kezdjük el. Az „a n-edik hatványa” kifejezés matematikailag n- ként írható fel. A kifejezésekben a következőképpen definiálhatjuk a kifejezéseket. a - n alap - kitevő Tekintsük a kitevőt. Azonosítható, hogy hányszor ismétlődik meg egy szorzás. Az alap az a szám, amely megszorozódik önmagával. A Math.pow() metódus használata Java nyelven - 1Most készítsünk egy egyszerű Java módszert egy szám hatványának kiszámításához. Kérjük, vegye figyelembe, hogy a következő példában két argumentumot adunk át a powerFunction() metódusnak, amelyek az alap, illetve a kitevő.

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;
   }
}
Ha a fenti példakódot futtatjuk, az 32-t ad vissza. Lehet, hogy elképzeled, miért nem írhatunk egyszerűen alap^kitevőt. Ezt nem tehetjük meg, mert a Java-nak nincs hatványozási operátora, amelyet egyetlen kódsorban használhatnánk. A fenti kódot figyelembe véve nyilvánvaló, hogy elég sok időt kellett töltenünk ennek a módszernek a megírásával. Sőt, ha nagy teljesítményeket fogunk számolni, a módszernek jelentős időbe telik a számítások elvégzése, mivel hurkokat használunk. Ezen túlmenően a hurkok megakadályozzák, hogy törtkitevőkkel hajtsunk végre hatványszámítást. Ennek a módszernek pedig nem jó a számítási komplexitása, mert nem túl kedvező, mivel több lehetőség van az optimalizálásra. Figyelembe véve, hogy a programozók milyen gyakran alkalmazzák a hatványozást és más matematikai műveleteket, a napokban a Java fejlesztői létrehoztak egy „Math” nevű könyvtárat, amely a matematikai műveletek megkönnyítésére szolgál. Ezért ahelyett, hogy nulláról írnánk egy power függvényt, kihasználhatjuk ezt a könyvtárat, amely a Java Lang csomagban található.

Mi az a Math.pow módszer és hogyan használjuk?

A Math.pow a java.lang csomagban található a Math könyvtár metódusaként. Számok hatványának kiszámítására szolgál, mind az egészek, mind a kettősek. Nézzük a szintaxisát.

public static double pow(double base, double exponent)
Ahogy a szintaxisban is láthatjuk, a java.lang.Math.pow() metódus két argumentumot vesz fel. Az első az alap, a második a kitevő. Ez az alapkitevőt adja vissza kimenetként. Lássuk, hogyan nevezhetjük.

Szám hatványra emelése Java-ban a Math.pow használatával

Keressük meg az 5 4 értékét a Math.pow segítségével .

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);
    }    
}
A kimenet 625.0. Mint látható, ez dupla érték. Ha zavar a tizedesvessző, könnyen megszabadulhatunk tőle, ha a számot egész számra öntjük az alábbiak szerint. Vegye figyelembe, hogy a fő metóduson belül megváltoztatjuk az első sort.

 int answer = (int) Math.pow(5, 4);
Most az eredmény 625. Használjunk törtszámokat az alap és a kitevő számára is, és próbáljunk választ kapni. Nézzük, mi az 1,25 4,5 értéke .

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);
   }
}
Ez 2,729575167846423 kimenetet eredményez. Ha számológépet használ, látni fogja, hogy ugyanazt a választ adja vissza. Nézzünk meg még egy példát, mielőtt a következő részre lépnénk. Egy számot negatív hatványra emelünk, és összehasonlítjuk az eredményeket. Ebben a példában a 4-et választjuk alapnak és -2-t kitevőnek.

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);
     }    
}
0,0625 kimenetet kapunk.

Gyors példa: A válasz kerekítése

Tegyük fel, hogy meg kell találnunk az 1,25 4,5 értékét . A válasz 2,729575167846423. Elég gyakran kell kerekíteni az eredményt. Próbáljunk a negyedik tizedesjegyig pontos választ kapni. Hogyan kell csinálni? Mi van, ha csak az első 4 tizedesjegyre van szükségünk? Ehhez használhatjuk a java.lang.Math.round metódust. Mivel azonban a Math.round az értéket a legközelebbi egész számra kerekíti, meg kell szoroznunk a tizedesjegyek számával, majd ismét kerekítenünk és osztanunk kell.

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);
     }
     
}
A kimenet 2,73.

A Math.pow helyes használata

Amikor a java.lang.Math.pow módszert használjuk , néhány dolgot szem előtt kell tartani.
  1. Ha a kitevő paramétere nulla, a kimenet 1,0 lesz. Ennek az az oka, hogy a nulla hatványa bármely szám esetén egy.
  2. Ha a kitevő paraméter egy, a kimenet lesz az alapparaméter. Ennek az az oka, hogy ha bármilyen számot 1 hatványára emel, az eredmény ugyanaz, mint az alap.
  3. Ha az alap negatív/pozitív nulla és a kitevő paramétere negatív szám, akkor az eredmény a Végtelen. (Negatív nullák előfordulhatnak a számok nulla és a legkisebb reprezentálható negatív nem nulla szám közötti kerekítése miatt).
  4. Ha a kitevő paramétere NaN, a kimenet is NaN lesz.
Tekintsünk egy esetet, amikor ez a 3. helyzet megtörténhet.

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);
     }     
}
Ez NaN-t fog kiadni. Tehát, ha a kód NaN-t eredményez, bölcs dolog lenne ellenőrizni, hogy a kitevő argumentuma NaN-e. Ha kíváncsi arra, hogy mi az a NaN, ez azt jelenti, hogy „nem szám”, és azt jelzi, hogy az érték nincs meghatározva. Úgy gondoljuk, hogy most már készen áll arra, hogy a lang.Math.pow()-t használni tudja alkalmazásaiban.

Következtetés

A java.lang.Math.pow() metódus nagyszerű módja annak, hogy könnyen megtaláljuk a különböző számok hatványát, egész számok és tört értékek egyaránt. Ellentétben azzal a módszerrel, amelyet esetleg saját maga írhat meg, ez nagyon optimalizált, és számos időkritikus alkalmazáshoz alkalmas. Bár az összes eredményt duplán adja ki, az értéket mindig egész számba önthetjük, mint a példában. Ezenkívül a mi kényelmünk érdekében a java.lang.Math könyvtár módszereket biztosít az eredménynek a kívánt tizedesjegyekre kerekítésére.
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION