CodeGym /Java Blog /Random /Gamit ang Math.pow() Method sa Java
John Squirrels
Antas
San Francisco

Gamit ang Math.pow() Method sa Java

Nai-publish sa grupo
Ang wikang Java ay nilagyan ng komprehensibong aklatan para sa mga pag-andar at pagpapatakbo ng matematika. Ito ay tinatawag na "Math" na klase, at ito ay namamalagi sa java.lang package. Kasama sa library ng Math ang mga pamamaraan para sa mga pangunahing pagpapatakbo ng numero, trigonometrya, paghahanap ng min-max, pagbuo ng mga random na numero, at mga operasyong logarithmic. Sa tutorial ngayon, tututukan natin ang paraan ng Math.pow() , na ginagamit upang kalkulahin ang mga kapangyarihan ng mga numero gamit ang base at exponent. Magsimula na tayo. Ang ekspresyong 'ika-kapangyarihan ng a' ay maaaring mathematically nakasulat bilang isang n. Maaari naming tukuyin ang mga termino sa mga expression bilang mga sumusunod. a - base n - exponent Isaalang-alang natin ang exponent. Matutukoy natin ito bilang ang bilang ng beses na inuulit ang pagpaparami. Ang base ay ang bilang na pinarami ng sarili nito. Gamit ang Math.pow() Method sa Java - 1Gumawa tayo ngayon ng isang simpleng paraan ng Java upang kalkulahin ang kapangyarihan ng isang numero. Pakitandaan na sa sumusunod na halimbawa, nagpapasa kami ng dalawang argumento sa paraan ng powerFunction() , na siyang base at exponent, ayon sa pagkakabanggit.

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;
   }
}
Kung patakbuhin natin ang halimbawang code sa itaas, babalik ito ng 32. Maaaring iniisip mo kung bakit hindi natin basta-basta masusulat ang base^exponent. Hindi namin magagawa iyon dahil walang exponentiation operator ang Java na magagamit namin sa isang linya ng code. Kung isasaalang-alang ang code sa itaas, malinaw na kailangan naming gumugol ng kaunting oras sa pagsulat ng paraang ito. Higit pa rito, kung kami ay magkalkula ng mataas na kapangyarihan, ang pamamaraan ay aabutin ng isang malaking halaga ng oras upang makumpleto ang mga kalkulasyong ito dahil kami ay gumagamit ng para sa mga loop. Bilang karagdagan, pipigilan tayo ng mga loop na magsagawa ng mga kalkulasyon ng kapangyarihan gamit ang mga fractional exponent. At ang pamamaraang ito ay walang magandang computational complexity, dahil hindi masyadong paborable dahil may mas maraming puwang para sa pag-optimize. Isinasaalang-alang kung gaano kadalas ang exponentiation at iba pang mathematical operations ay ginagamit ng mga programmer, noong araw na lumikha ang mga developer ng Java ng isang library na tinatawag na 'Math', na nakatuon sa pagpapadali ng mga operasyong matematikal. Samakatuwid, sa halip na magsulat ng power function mula sa simula, maaari naming samantalahin ang library na ito na kasama sa Java Lang package.

Ano ang paraan ng Math.pow at paano natin ito ginagamit?

Ang Math.pow ay matatagpuan sa java.lang package bilang isang paraan ng Math library. Ito ay ginagamit upang kalkulahin ang kapangyarihan ng mga numero, parehong mga integer pati na rin ang mga doble. Isaalang-alang natin ang syntax nito.

public static double pow(double base, double exponent)
Gaya ng nakikita natin sa syntax, ang java.lang.Math.pow() na pamamaraan ay tumatagal ng dalawang argumento. Ang una ay ang base at ang pangalawa ay ang exponent. Ibabalik nito ang base exponent bilang output nito. Tingnan natin kung paano natin ito matatawag.

Pagtaas ng Numero sa isang Power sa Java gamit ang Math.pow

Hanapin natin ang halaga ng 5 4 gamit ang 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);
    }    
}
Ang output ay 625.0. Tulad ng nakikita mo, ito ay isang dobleng halaga. Kung naaabala ka sa decimal point, madali naming mapupuksa ito sa pamamagitan ng pag-cast ng numero sa isang integer gaya ng sumusunod. Tandaan na binabago namin ang unang linya sa loob ng pangunahing pamamaraan.

 int answer = (int) Math.pow(5, 4);
Ngayon ang resulta ay 625. Gamitin natin ang mga fractional na numero para sa parehong base at exponent at subukang makakuha ng sagot. Tingnan natin kung ano ang halaga ng 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);
   }
}
Maglalabas ito ng 2.729575167846423. Kung gumamit ka ng calculator, makikita mo na ibinabalik nito ang parehong sagot. Dumaan tayo sa isa pang halimbawa bago tayo lumipat sa susunod na seksyon. Itataas namin ang isang numero sa isang negatibong kapangyarihan at ihambing ang mga resulta. Para sa halimbawang ito, pipiliin namin ang 4 bilang base at -2 bilang 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);
     }    
}
Nakukuha namin ang output 0.0625.

Mabilis na Halimbawa: Paano Bilugan ang Iyong Sagot

Sabihin, kailangan nating hanapin ang halaga ng 1.25 4.5 . Ang sagot ay 2.729575167846423. Medyo madalas na kinakailangan upang bilugan ang resulta. Subukan nating makakuha ng tumpak na sagot hanggang sa ikaapat na decimal place. Paano ito gagawin? Paano kung kailangan lang namin ang unang 4 na decimal na lugar? Maaari naming gamitin ang java.lang.Math.round method para doon. Gayunpaman, habang iniikot ng Math.round ang halaga sa pinakamalapit na integer, kakailanganin nating i-multiply ito sa bilang ng mga decimal na lugar at pagkatapos ay i-round at hatiin muli.

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);
     }
     
}
Ang output ay 2.73.

Paano Gamitin nang Wasto ang Math.pow

Kapag gumamit kami ng java.lang.Math.pow na pamamaraan, may ilang bagay na dapat tandaan.
  1. Kung ang exponent parameter ay zero, ang output ay magiging 1.0. Ito ay dahil ang kapangyarihan ng zero para sa anumang numero ay tinukoy bilang isa.
  2. Kung ang exponent parameter ay isa, ang output ang magiging base parameter. Ito ay dahil kung itataas mo ang anumang numero sa kapangyarihan ng 1, ang resulta ay kapareho ng base.
  3. Kung ang base ay negatibo/positibong zero at ang exponent parameter ay isang negatibong numero, ang resulta ay Infinity. (Ang mga negatibong zero ay maaaring mangyari dahil sa pag-ikot ng mga numero sa pagitan ng zero at ang pinakamaliit na kinakatawan na negatibong hindi zero na numero).
  4. Kung ang exponent parameter ay NaN, ang output ay magiging NaN din.
Isaalang-alang natin ang isang pagkakataon kung saan maaaring mangyari ang ikatlong sitwasyong ito.

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);
     }     
}
Maglalabas ito ng NaN. Kaya, kung ang iyong code ay nagreresulta sa NaN, ito ay magiging matalino upang suriin kung ang exponent argument ay NaN. Kung sakaling ikaw ay nagtataka kung ano ang NaN, ito ay nangangahulugang 'hindi isang numero' at nagpapahiwatig na ang halaga ay hindi natukoy. Naniniwala kami na handa ka na ngayong magpatuloy at ilagay ang lang.Math.pow() na gagamitin sa iyong mga application.

Konklusyon

Ang java.lang.Math.pow() na paraan ay isang mahusay na paraan upang madaling mahanap ang kapangyarihan ng iba't ibang numero, parehong mga integer pati na rin ang mga fractional na halaga. Hindi tulad ng isang paraan na maaari mong isulat sa iyong sarili, ito ay lubos na na-optimize at mahusay na angkop para sa isang hanay ng mga aplikasyon na kritikal sa oras. Bagama't ginagawa nito ang lahat ng mga resulta bilang mga doble, maaari naming palaging ilagay ang halaga sa isang integer tulad ng ginawa namin sa halimbawa. Bukod dito, para sa aming kaginhawahan, ang java.lang.Math library ay nagbibigay ng mga pamamaraan upang i-round ang resulta sa gustong bilang ng mga decimal na lugar.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION