CodeGym /Blog Java /rawak /Menggunakan Kaedah Math.pow() dalam Java
John Squirrels
Tahap
San Francisco

Menggunakan Kaedah Math.pow() dalam Java

Diterbitkan dalam kumpulan
Bahasa Java dilengkapi dengan perpustakaan yang komprehensif untuk fungsi dan operasi matematik. Ia dipanggil kelas "Math", dan ia berada dalam pakej java.lang . Pustaka Matematik termasuk kaedah untuk operasi berangka asas, trigonometri, mencari min-maks, menjana nombor rawak dan operasi logaritma. Dalam tutorial hari ini, kami akan menumpukan pada kaedah Math.pow() , yang digunakan untuk mengira kuasa nombor menggunakan asas dan eksponen. Mari kita mulakan. Ungkapan 'kuasa ke-1' boleh ditulis secara matematik sebagai n. Kita boleh mentakrifkan istilah dalam ungkapan seperti berikut. a - asas n - eksponen Mari kita pertimbangkan eksponen. Kita boleh mengenal pasti ia sebagai bilangan kali operasi pendaraban diulang. Asas ialah nombor yang didarab dengan sendirinya. Menggunakan Kaedah Math.pow() dalam Java - 1Mari kita cipta kaedah Java yang mudah untuk mengira kuasa nombor. Sila ambil perhatian bahawa dalam contoh berikut, kami menghantar dua argumen ke dalam kaedah powerFunction() , iaitu asas dan eksponen, masing-masing.

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;
   }
}
Jika kita menjalankan kod contoh di atas, ia akan mengembalikan 32. Anda mungkin membayangkan mengapa kita tidak boleh menulis asas^eksponen sahaja. Kami tidak boleh berbuat demikian kerana Java tidak mempunyai pengendali eksponen yang boleh kami gunakan dalam satu baris kod. Memandangkan kod di atas, jelas sekali kami terpaksa meluangkan sedikit masa untuk menulis kaedah ini. Selain itu, jika kita akan mengira kuasa tinggi, kaedah ini akan mengambil masa yang agak lama untuk menyelesaikan pengiraan ini kerana kita menggunakan untuk gelung. Di samping itu, gelung akan menghalang kita daripada melakukan pengiraan kuasa dengan eksponen pecahan. Dan kaedah ini tidak mempunyai kerumitan pengiraan yang baik, kerana tidak begitu baik kerana terdapat lebih banyak ruang untuk pengoptimuman. Memandangkan kekerapan eksponen dan operasi matematik lain digunakan oleh pengaturcara, kembali pada hari pembangun Java mencipta perpustakaan yang dipanggil 'Math', yang didedikasikan untuk memudahkan operasi matematik. Oleh itu, daripada menulis fungsi kuasa dari awal, kita boleh memanfaatkan perpustakaan ini yang disertakan dalam pakej Java Lang.

Apakah kaedah Math.pow dan bagaimana kita menggunakannya?

Math.pow boleh didapati dalam pakej java.lang sebagai kaedah perpustakaan Matematik. Ia digunakan untuk mengira kuasa nombor, kedua-dua integer dan juga berganda. Mari kita pertimbangkan sintaksnya.

public static double pow(double base, double exponent)
Seperti yang kita boleh lihat dalam sintaks, kaedah java.lang.Math.pow() mengambil dua argumen. Yang pertama ialah asas dan yang kedua ialah eksponen. Ini akan mengembalikan eksponen asas sebagai outputnya. Mari lihat bagaimana kita boleh memanggilnya.

Menaikkan Nombor kepada Kuasa di Java menggunakan Math.pow

Mari cari nilai 5 4 menggunakan 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);
    }    
}
Keluaran ialah 625.0. Seperti yang anda lihat, ia adalah nilai berganda. Jika anda terganggu oleh titik perpuluhan, kita boleh menyingkirkannya dengan mudah dengan menghantar nombor kepada integer seperti berikut. Ambil perhatian bahawa kami menukar baris pertama di dalam kaedah utama.

 int answer = (int) Math.pow(5, 4);
Sekarang hasilnya ialah 625. Mari kita gunakan nombor pecahan untuk kedua-dua asas dan eksponen dan cuba dapatkan jawapan. Mari kita lihat apakah nilai 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);
   }
}
Ini akan mengeluarkan 2.729575167846423. Jika anda menggunakan kalkulator, anda akan melihat bahawa ia mengembalikan jawapan yang sama. Mari kita lihat satu lagi contoh sebelum kita beralih ke bahagian seterusnya. Kami akan menaikkan nombor kepada kuasa negatif dan membandingkan hasilnya. Untuk contoh ini, kita akan memilih 4 sebagai asas dan -2 sebagai eksponen.

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);
     }    
}
Kami mendapat output 0.0625.

Contoh Pantas: Cara Membundarkan Jawapan Anda

Katakan, kita perlu mencari nilai 1.25 4.5 . Jawapannya ialah 2.729575167846423. Selalunya adalah perlu untuk membulatkan hasilnya. Mari cuba dapatkan jawapan tepat hingga tempat perpuluhan keempat. Bagaimana hendak melakukannya? Bagaimana jika kita hanya memerlukan 4 tempat perpuluhan pertama? Kita boleh menggunakan kaedah java.lang.Math.round untuk itu. Walau bagaimanapun, apabila Math.round membundarkan nilai kepada integer terdekat, kita perlu mendarabkannya dengan bilangan tempat perpuluhan dan kemudian membulatkan dan membahagi semula.

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);
     }
     
}
Keluaran ialah 2.73.

Cara Menggunakan Math.pow Dengan Betul

Apabila kita menggunakan kaedah java.lang.Math.pow , terdapat beberapa perkara yang perlu diingat.
  1. Jika parameter eksponen adalah sifar, output akan menjadi 1.0. Ini kerana kuasa sifar untuk sebarang nombor ditakrifkan sebagai satu.
  2. Jika parameter eksponen adalah satu, output akan menjadi parameter asas. Ini kerana jika anda menaikkan sebarang nombor kepada kuasa 1, hasilnya adalah sama dengan asas.
  3. Jika asas adalah sifar negatif/positif dan parameter eksponen ialah nombor negatif, maka hasilnya ialah Infiniti. (Sifar negatif boleh berlaku disebabkan pembundaran nombor antara sifar dan nombor bukan sifar negatif yang boleh diwakili terkecil).
  4. Jika parameter eksponen ialah NaN, output juga akan menjadi NaN.
Mari kita pertimbangkan satu contoh di mana situasi ke-3 ini boleh berlaku.

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);
     }     
}
Ini akan mengeluarkan NaN. Jadi, jika kod anda menghasilkan NaN, adalah bijak untuk menyemak sama ada hujah eksponen ialah NaN. Sekiranya anda tertanya-tanya apa itu NaN, ia bermaksud 'bukan nombor' dan menunjukkan bahawa nilai itu belum ditentukan. Kami percaya bahawa anda kini bersedia untuk meneruskan dan meletakkan lang.Math.pow() untuk digunakan dalam aplikasi anda.

Kesimpulan

Kaedah java.lang.Math.pow() ialah cara terbaik untuk mencari kuasa pelbagai nombor dengan mudah, kedua-dua integer serta nilai pecahan. Tidak seperti kaedah yang anda mungkin tulis sendiri, ia sangat dioptimumkan dan sangat sesuai untuk pelbagai aplikasi kritikal masa. Walaupun ia mengeluarkan semua hasil sebagai dua kali ganda, kita sentiasa boleh menghantar nilai ke dalam integer seperti yang kita lakukan dalam contoh. Selain itu, untuk kemudahan kami, perpustakaan java.lang.Math menyediakan kaedah untuk membundarkan hasil kepada bilangan tempat perpuluhan pilihan.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION