CodeGym /Java Blog /Toto sisi /在 Java 中使用 Math.pow() 方法
John Squirrels
等級 41
San Francisco

在 Java 中使用 Math.pow() 方法

在 Toto sisi 群組發布
Java 語言配備了用於數學函數和運算的綜合庫。它稱為“Math”類,位於java.lang包中。數學庫包括基本數值運算、三角函數、求最小-最大值、生成隨機數和對數運算的方法。在今天的教程中,我們將重點介紹Math.pow()方法,該方法用於使用底數和指數計算數字的冪。讓我們開始吧。表達式“a 的 n 次方”在數學上可以寫為n. 我們可以定義表達式中的術語如下。a - 基數 n - 指數 讓我們考慮指數。我們可以將其識別為重複乘法運算的次數。基數是乘以自身的數字。在 Java 中使用 Math.pow() 方法 - 1現在讓我們創建一個簡單的 Java 方法來計算一個數的冪。請注意,在下面的示例中,我們將兩個參數傳遞給powerFunction()方法,分別是基數和指數。

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;
   }
}
如果我們運行上面的示例代碼,它會返回 32。你可能會想為什麼我們不能簡單地寫 base^exponent。我們不能那樣做,因為 Java 沒有我們可以在一行代碼中使用的求冪運算符。考慮到上面的代碼,很明顯我們不得不花很多時間來編寫這個方法。此外,如果我們要計算高次冪,由於我們使用 for 循環,該方法將花費大量時間來完成這些計算。除此之外,循環將阻止我們使用分數指數執行冪計算。而且這種方法沒有很好的計算複雜度,因為有更多的優化空間不是很有利。考慮到程序員使用求冪和其他數學運算的頻率,回到過去,Java 的開發人員創建了一個名為“Math”的庫,專門用於促進數學運算。因此,我們可以利用 Java Lang 包中包含的這個庫,而不是從頭開始編寫冪函數。

什麼是 Math.pow 方法,我們如何使用它?

Math.pow可以在 java.lang 包中找到,作為 Math 庫的一個方法。它用於計算數字的冪,包括整數和雙精度數。讓我們考慮一下它的語法。

public static double pow(double base, double exponent)
正如我們在語法中看到的,java.lang.Math.pow()方法有兩個參數。第一個是基數,第二個是指數。這將返回基數指數作為其輸出。讓我們看看如何調用它。

在 Java 中使用 Math.pow 計算一個數的冪

讓我們使用Math.pow計算 5 4的值。

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);
    }    
}
輸出為 625.0。如您所見,這是一個雙重價值。如果您對小數點感到困擾,我們可以通過將數字轉換為整數來輕鬆擺脫它,如下所示。請注意,我們正在更改 main 方法中的第一行。

 int answer = (int) Math.pow(5, 4);
現在結果是 625。讓我們對基數和指數都使用小數並嘗試得到答案。讓我們看看 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);
   }
}
這將輸出 2.729575167846423。如果您使用計算器,您會發現它返回相同的答案。在進入下一節之前,讓我們再看一個例子。我們將提高一個數字的負次方並比較結果。對於這個例子,我們將選擇 4 作為底數,-2 作為指數。

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。

快速示例:如何舍入您的答案

比如說,我們需要找到 1.25 4.5的值。答案是 2.729575167846423。很多時候需要對結果進行四捨五入。讓我們嘗試得到精確到小數點後第四位的答案。怎麼做?如果我們只需要前 4 位小數怎麼辦?為此,我們可以使用java.lang.Math.round方法。然而,由於Math.round將值四捨五入為最接近的整數,我們必須將它乘以小數位數,然後再次四捨五入並除以。

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);
     }
     
}
輸出為 2.73。

如何正確使用 Math.pow

當我們使用java.lang.Math.pow方法時,有幾件事要記住。
  1. 如果指數參數為零,則輸出將為 1.0。這是因為任何數字的零次方都被定義為一。
  2. 如果指數參數是一個,輸出將是基本參數。這是因為如果你對任何數求 1 次方,結果與基數相同。
  3. 如果基數為負/正零且指數參數為負數,則結果為 Infinity。(由於零和最小可表示負非零數之間的數字四捨五入,可能會出現負零)。
  4. 如果指數參數為 NaN,則輸出也將為 NaN。
讓我們考慮一個可能發生第三種情況的例子。

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);
     }     
}
這將輸出 NaN。因此,如果您的代碼結果為 NaN,檢查指數參數是否為 NaN 是明智的。如果您想知道 NaN 是什麼,它的意思是“不是數字”,表示該值尚未定義。我們相信您現在已經準備好繼續將lang.Math.pow()用於您的應用程序。

結論

java.lang.Math.pow ()方法是輕鬆計算各種數字(包括整數和小數值)的冪的好方法。與您可能自己編寫的方法不同,它經過高度優化,非常適合一系列時間緊迫的應用程序。雖然它確實將所有結果輸出為雙精度值,但我們始終可以像示例中那樣將值轉換為整數。此外,為方便起見,java.lang.Math庫提供了將結果四捨五入到首選小數位數的方法。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION