CodeGym /Blog Java /Aleatoriu /Folosind metoda Math.pow() în Java
John Squirrels
Nivel
San Francisco

Folosind metoda Math.pow() în Java

Publicat în grup
Limbajul Java este echipat cu o bibliotecă cuprinzătoare pentru funcții și operații matematice. Se numește clasa „Math” și se află în pachetul java.lang . Biblioteca de matematică include metode pentru operații numerice fundamentale, trigonometrie, găsirea min-max, generarea de numere aleatoare și operații logaritmice. În tutorialul de astăzi, ne vom concentra pe metoda Math.pow() , care este folosită pentru a calcula puterile numerelor folosind o bază și un exponent. Să începem. Expresia „a-a putere a lui a” poate fi scrisă matematic ca n. Putem defini termenii din expresiile după cum urmează. a - baza n - exponent Să considerăm exponentul. O putem identifica ca fiind de câte ori se repetă o operație de înmulțire. Baza este numărul care se înmulțește cu el însuși. Folosind metoda Math.pow() în Java - 1Să creăm acum o metodă Java simplă pentru a calcula puterea unui număr. Vă rugăm să rețineți că în exemplul următor, trecem două argumente în metoda powerFunction() , care sunt baza și, respectiv, exponentul.

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;
   }
}
Dacă rulăm exemplul de cod de mai sus, ar returna 32. S-ar putea să vă imaginați de ce nu putem scrie pur și simplu exponent de bază^. Nu putem face asta pentru că Java nu are niciun operator de exponențiere pe care să-l putem folosi într-o singură linie de cod. Având în vedere codul de mai sus, este evident că a trebuit să petrecem destul de mult timp scriind această metodă. Mai mult, dacă vom calcula puteri mari, metoda va dura o perioadă considerabilă de timp pentru a finaliza aceste calcule, deoarece folosim bucle for. În plus, buclele ne vor împiedica să efectuăm calcule de putere cu exponenți fracționari. Și această metodă nu are o complexitate de calcul bună, deoarece nu este foarte favorabilă deoarece există mai mult loc de optimizare. Având în vedere cât de des sunt folosite exponentiația și alte operații matematice de către programatori, În acea vreme, dezvoltatorii Java au creat o bibliotecă numită „Math”, care este dedicată facilitării operațiilor matematice. Prin urmare, în loc să scriem o funcție de putere de la zero, putem profita de această bibliotecă care este inclusă în pachetul Java Lang.

Ce este metoda Math.pow și cum o folosim?

Math.pow poate fi găsit în pachetul java.lang ca metodă a bibliotecii Math. Este folosit pentru a calcula puterea numerelor, atât numere întregi, cât și duble. Să luăm în considerare sintaxa acesteia.

public static double pow(double base, double exponent)
După cum putem vedea în sintaxă, metoda java.lang.Math.pow() preia două argumente. Prima este baza, iar a doua este exponentul. Aceasta va returna exponentul de bază ca rezultat. Să vedem cum îl putem numi.

Ridicarea unui număr la putere în Java folosind Math.pow

Să găsim valoarea lui 5 4 folosind 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);
    }    
}
Ieșirea este 625.0. După cum puteți vedea, este o valoare dublă. Dacă sunteți deranjat de punctul zecimal, putem scăpa cu ușurință de ea turnând numărul într-un număr întreg, după cum urmează. Rețineți că schimbăm prima linie din cadrul metodei principale.

 int answer = (int) Math.pow(5, 4);
Acum rezultatul este 625. Să folosim numere fracționale atât pentru bază, cât și pentru exponent și să încercăm să obținem un răspuns. Să vedem care este valoarea lui 1,25 4,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);
   }
}
Aceasta ar scoate 2,729575167846423. Dacă utilizați un calculator, veți vedea că acesta returnează același răspuns. Să trecem prin încă un exemplu înainte de a trece la următoarea secțiune. Vom ridica un număr la o putere negativă și vom compara rezultatele. Pentru acest exemplu, vom alege 4 ca bază și -2 ca exponent.

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);
     }    
}
Obținem rezultatul 0,0625.

Exemplu rapid: Cum să vă rotunjiți răspunsul

Să spunem, trebuie să găsim valoarea lui 1,25 4,5 . Răspunsul este 2,729575167846423. Destul de des este necesar să rotunjiți rezultatul. Să încercăm să obținem un răspuns precis până la a patra zecimală. Cum să o facă? Ce se întâmplă dacă avem nevoie doar de primele 4 zecimale? Pentru asta putem folosi metoda java.lang.Math.round . Cu toate acestea, deoarece Math.round rotunjește valoarea la cel mai apropiat număr întreg, va trebui să o înmulțim cu numărul de zecimale și apoi să rotunjim și să împărțim din nou.

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);
     }
     
}
Ieșirea este 2,73.

Cum să utilizați Math.pow corect

Când folosim metoda java.lang.Math.pow , există câteva lucruri de reținut.
  1. Dacă parametrul exponentului este zero, rezultatul va fi 1,0. Acest lucru se datorează faptului că puterea lui zero pentru orice număr este definită ca unul.
  2. Dacă parametrul exponentului este unul, rezultatul va fi parametrul de bază. Acest lucru se datorează faptului că dacă ridici orice număr la puterea lui 1, rezultatul este același cu baza.
  3. Dacă baza este zero negativ/pozitiv și parametrul exponent este un număr negativ, atunci rezultatul este infinit. (Zerourile negative pot apărea din cauza rotunjirii numerelor între zero și cel mai mic număr negativ reprezentabil diferit de zero).
  4. Dacă parametrul exponentului este NaN, rezultatul va fi și NaN.
Să luăm în considerare un exemplu în care se poate întâmpla această a treia situație.

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);
     }     
}
Aceasta va scoate NaN. Deci, dacă codul dvs. are ca rezultat NaN, ar fi înțelept să verificați dacă argumentul exponentului este NaN. În cazul în care vă întrebați ce este NaN, înseamnă „nu un număr” și indică faptul că valoarea nu a fost definită. Credem că sunteți gata să mergeți mai departe și să utilizați lang.Math.pow() în aplicațiile dvs.

Concluzie

Metoda java.lang.Math.pow() este o modalitate excelentă de a găsi cu ușurință puterea diferitelor numere, atât numere întregi, cât și valori fracționale. Spre deosebire de o metodă pe care ați putea-o scrie singur, este foarte optimizată și potrivită pentru o serie de aplicații critice în timp. Deși scoate toate rezultatele ca duble, putem oricând transforma valoarea într-un număr întreg, așa cum am făcut în exemplu. Mai mult, pentru confortul nostru, biblioteca java.lang.Math oferă metode de rotunjire a rezultatului la numărul preferat de zecimale.
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION