ภาษา Java มีไลบรารีที่ครอบคลุมสำหรับฟังก์ชันและการดำเนินการทางคณิตศาสตร์ เรียกว่าคลาส "คณิตศาสตร์" และอยู่ในแพ็คเกจjava.lang ไลบรารีคณิตศาสตร์ประกอบด้วยวิธีการสำหรับการดำเนินการทางตัวเลขพื้นฐาน ตรีโกณมิติ การหาค่าต่ำสุด-สูงสุด การสร้างตัวเลขสุ่ม และการดำเนินการเกี่ยวกับลอการิทึม ในบทช่วยสอนวันนี้ เราจะมุ่งเน้นไปที่ เมธอด Math.pow()ซึ่งใช้ในการคำนวณกำลังของตัวเลขโดยใช้ฐานและเลขยกกำลัง มาเริ่มกันเลย. นิพจน์ 'กำลังที่ n ของ a' สามารถเขียนทางคณิตศาสตร์เป็นn. เราสามารถกำหนดคำศัพท์ในนิพจน์ได้ดังนี้ a - ฐาน n - เลขยกกำลัง ลองพิจารณาเลขชี้กำลังกัน เราสามารถระบุได้ว่าเป็นจำนวนครั้งที่ดำเนินการคูณซ้ำ ฐานคือจำนวนที่คูณด้วยตัวมันเอง การใช้เมธอด Math.pow() ใน Java - 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 คุณอาจจะคิดว่าทำไมเราไม่สามารถเขียนแค่เลขฐาน^เลขยกกำลัง เราไม่สามารถทำเช่นนั้นได้เนื่องจาก Java ไม่มีตัวดำเนินการยกกำลังที่เราสามารถใช้ในโค้ดบรรทัดเดียว เมื่อพิจารณาจากโค้ดด้านบน เห็นได้ชัดว่าเราต้องใช้เวลาเขียนวิธีนี้ค่อนข้างนาน นอกจากนี้ หากเรากำลังคำนวณกำลังสูง วิธีนี้จะใช้เวลานานพอสมควรในการคำนวณเหล่านี้ เนื่องจากเราใช้สำหรับการวนซ้ำ นอกจากนั้น การวนซ้ำจะป้องกันไม่ให้เราคำนวณกำลังด้วยเลขชี้กำลังที่เป็นเศษส่วน และวิธีนี้ไม่มีความซับซ้อนในการคำนวณที่ดีนัก เนื่องจากไม่เอื้ออำนวยเนื่องจากมีที่ว่างมากขึ้นสำหรับการปรับให้เหมาะสม เมื่อพิจารณาว่าโปรแกรมเมอร์ใช้การยกกำลังและการคำนวณทางคณิตศาสตร์บ่อยเพียงใด ย้อนกลับไปในวันที่นักพัฒนาของ Java ได้สร้างห้องสมุดชื่อ 'Math' ซึ่งอุทิศให้กับการอำนวยความสะดวกในการดำเนินการทางคณิตศาสตร์ ดังนั้น แทนที่จะเขียน power function ตั้งแต่เริ่มต้น เราสามารถใช้ประโยชน์จากไลบรารีนี้ที่รวมอยู่ในแพ็คเกจ Java Lang

วิธี Math.pow คืออะไร และเราจะใช้อย่างไร

Math.powสามารถพบได้ในแพ็คเกจ java.lang เป็นวิธีการของไลบรารี Math ใช้ในการคำนวณกำลังของตัวเลข ทั้งจำนวนเต็มและสองเท่า ลองพิจารณาไวยากรณ์ของมัน

public static double pow(double base, double exponent)
ดังที่เราเห็นในไวยากรณ์ วิธีการ java.lang.Math.pow()รับสองอาร์กิวเมนต์ อันแรกคือฐานและอันที่สองคือเลขชี้กำลัง สิ่งนี้จะส่งกลับเลขชี้กำลัง ฐาน เป็นเอาต์พุต มาดูกันว่าเราจะเรียกมันได้อย่างไร

การเพิ่มจำนวนเป็นเลขยกกำลังใน Java โดยใช้ Math.pow

มาหาค่าของ 5 4 โดยใช้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);
    }    
}
เอาต์พุตคือ 625.0 อย่างที่คุณเห็น มันเป็นค่าสองเท่า หากคุณรู้สึกรำคาญกับจุดทศนิยม เราสามารถกำจัดมันได้ง่ายๆ โดยแปลงเป็นจำนวนเต็มดังนี้ โปรดทราบว่าเรากำลังเปลี่ยนบรรทัดแรกภายในเมธอดหลัก

 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. ถ้าฐานเป็นลบ/บวกศูนย์ และพารามิเตอร์เลขยกกำลังเป็นจำนวนลบ ผลลัพธ์ที่ได้คืออนันต์ (ศูนย์ติดลบสามารถเกิดขึ้นได้เนื่องจากการปัดเศษของตัวเลขระหว่างศูนย์กับจำนวนลบที่ไม่ใช่ศูนย์ที่เป็นตัวแทนได้น้อยที่สุด)
  4. หากพารามิเตอร์เลขชี้กำลังเป็น NaN เอาต์พุตจะเป็น NaN ด้วย
ลองพิจารณาตัวอย่างหนึ่งที่สถานการณ์ที่ 3 สามารถเกิดขึ้นได้

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มีวิธีการปัดเศษผลลัพธ์เป็นจำนวนตำแหน่งทศนิยมที่ต้องการ