Java 語言配備了用於數學函數和運算的綜合庫。它稱為“Math”類,位於java.lang包中。數學庫包括基本數值運算、三角函數、求最小-最大值、生成隨機數和對數運算的方法。在今天的教程中,我們將重點介紹Math.pow()方法,該方法用於使用底數和指數計算數字的冪。讓我們開始吧。表達式“a 的 n 次方”在數學上可以寫為n. 我們可以定義表達式中的術語如下。a - 基數 n - 指數 讓我們考慮指數。我們可以將其識別為重複乘法運算的次數。基數是乘以自身的數字。現在讓我們創建一個簡單的 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.0。這是因為任何數字的零次方都被定義為一。
- 如果指數參數是一個,輸出將是基本參數。這是因為如果你對任何數求 1 次方,結果與基數相同。
- 如果基數為負/正零且指數參數為負數,則結果為 Infinity。(由於零和最小可表示負非零數之間的數字四捨五入,可能會出現負零)。
- 如果指數參數為 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()用於您的應用程序。
GO TO FULL VERSION