CodeGym /Java Blogu /Rastgele /Java'da Math.pow() Yöntemini Kullanma
John Squirrels
Seviye
San Francisco

Java'da Math.pow() Yöntemini Kullanma

grupta yayınlandı
Java dili, matematiksel işlevler ve işlemler için kapsamlı bir kitaplıkla donatılmıştır. "Math" sınıfı olarak adlandırılır ve java.lang paketinde bulunur. Math kitaplığı, temel sayısal işlemler, trigonometri, min-maks bulma, rasgele sayılar üretme ve logaritmik işlemler için yöntemler içerir. Bugünün eğitiminde, bir taban ve bir üs kullanarak sayıların kuvvetlerini hesaplamak için kullanılan Math.pow() yöntemine odaklanacağız . Başlayalım. 'a'nın n'inci kuvveti' ifadesi matematiksel olarak n olarak yazılabilir.. İfadelerdeki terimleri aşağıdaki gibi tanımlayabiliriz. a - taban n - üs Üslü ele alalım. Bir çarpma işleminin tekrarlanma sayısı olarak tanımlayabiliriz. Taban, kendisiyle çarpılan sayıdır. Java'da Math.pow() Yöntemini Kullanma - 1Şimdi bir sayının kuvvetini hesaplamak için basit bir Java yöntemi oluşturalım. Aşağıdaki örnekte, sırasıyla taban ve üs olan iki bağımsız değişkeni powerFunction() yöntemine ilettiğimizi lütfen unutmayın .

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;
   }
}
Yukarıdaki örnek kodu çalıştırırsak, 32 döndürür. Neden basitçe base^exponent yazamadığımızı hayal ediyor olabilirsiniz. Bunu yapamayız çünkü Java'da tek bir kod satırında kullanabileceğimiz bir üs operatörü yoktur. Yukarıdaki kod göz önüne alındığında, bu yöntemi yazmak için oldukça fazla zaman harcamamız gerektiği açıktır. Ayrıca, eğer yüksek kuvvetleri hesaplayacaksak, for döngüleri kullandığımız için yöntemin bu hesaplamaları tamamlaması oldukça uzun sürecektir. Ayrıca döngüler kesirli üslerle güç hesabı yapmamızı engelleyecektir. Ve bu yöntem, iyi bir hesaplama karmaşıklığına sahip değildir, çünkü optimizasyon için daha fazla alan olduğu için çok elverişli değildir. Üs alma ve diğer matematiksel işlemlerin programcılar tarafından ne sıklıkta kullanıldığı göz önüne alındığında, Java'nın geliştiricileri, matematiksel işlemleri kolaylaştırmaya adanmış 'Math' adlı bir kitaplık oluşturdular. Bu nedenle sıfırdan bir güç fonksiyonu yazmak yerine Java Lang paketinde bulunan bu kütüphaneden faydalanabiliriz.

Math.pow yöntemi nedir ve nasıl kullanırız?

Math.pow, Java.lang paketinde Math kitaplığının bir yöntemi olarak bulunabilir. Hem tamsayılar hem de çiftler olmak üzere sayıların gücünü hesaplamak için kullanılır. Sözdizimini ele alalım.

public static double pow(double base, double exponent)
Sözdiziminde de görebileceğimiz gibi, java.lang.Math.pow() yöntemi iki argüman alır. Birincisi taban, ikincisi ise üs. Bu, çıktı olarak taban üssünü döndürür . Nasıl çağırabileceğimize bakalım.

Math.pow kullanarak Java'da Bir Sayıyı Bir Üsye Yükseltme

Math.pow kullanarak 5 4 değerini bulalım .

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);
    }    
}
Çıktı 625.0'dır. Gördüğünüz gibi, bu bir çift değer. Ondalık noktadan rahatsızsanız, aşağıdaki gibi sayıyı bir tamsayıya çevirerek kolayca kurtulabiliriz. Ana yöntemin içindeki ilk satırı değiştirdiğimize dikkat edin.

 int answer = (int) Math.pow(5, 4);
Şimdi sonuç 625. Kesirli sayıları hem taban hem de üs için kullanalım ve bir cevap bulmaya çalışalım. 1.25 4.5 değerinin ne olduğuna bakalım .

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);
   }
}
Bu, 2.729575167846423 çıktısı verir. Bir hesap makinesi kullanırsanız, aynı cevabı döndürdüğünü göreceksiniz. Bir sonraki bölüme geçmeden önce bir örnek daha üzerinden geçelim. Bir sayıyı negatif bir güce yükselteceğiz ve sonuçları karşılaştıracağız. Bu örnek için, taban olarak 4 ve üs olarak -2 seçeceğiz.

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 çıktısını alıyoruz.

Hızlı Örnek: Cevabınızı Nasıl Yuvarlarsınız?

Diyelim ki 1.25 4.5 değerini bulmamız gerekiyor . Cevap 2,729575167846423'tür. Çoğu zaman sonucu yuvarlamak gerekir. Dördüncü ondalık basamağa kadar doğru bir cevap bulmaya çalışalım. Nasıl yapılır? Ya sadece ilk 4 ondalık basamağa ihtiyacımız olursa? Bunun için java.lang.Math.round yöntemini kullanabiliriz . Ancak Math.round değeri en yakın tamsayıya yuvarladığı için ondalık basamak sayısıyla çarpmamız ve sonra tekrar yuvarlayıp bölmemiz gerekecek.

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);
     }
     
}
Çıktı 2.73'tür.

Math.pow Nasıl Düzgün Kullanılır

Java.lang.Math.pow yöntemini kullanırken akılda tutulması gereken birkaç şey vardır.
  1. Üs parametresi sıfır ise, çıkış 1.0 olacaktır. Bunun nedeni, herhangi bir sayı için sıfırın gücünün bir olarak tanımlanmasıdır.
  2. Üs parametresi bir ise, çıkış temel parametre olacaktır. Bunun nedeni, herhangi bir sayıyı 1'in kuvvetine yükseltirseniz, sonucun tabanla aynı olmasıdır.
  3. Taban negatif/pozitif sıfırsa ve üs parametresi negatif bir sayıysa, sonuç Sonsuzdur. (Negatif sıfırlar, sayıların sıfır ile temsil edilebilir en küçük negatif sıfır olmayan sayı arasında yuvarlanması nedeniyle oluşabilir).
  4. Üs parametresi NaN ise çıkış da NaN olacaktır.
Bu 3. durumun gerçekleşebileceği bir örneği ele alalım.

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);
     }     
}
Bu, NaN çıktısını verecektir. Bu nedenle, kodunuz NaN ile sonuçlanırsa, üs argümanının NaN olup olmadığını kontrol etmek akıllıca olacaktır. NaN nedir diye merak ediyorsanız, 'sayı değil' anlamına gelir ve değerin tanımlanmadığını belirtir. Artık devam etmeye ve uygulamalarınızda kullanmak üzere lang.Math.pow()' u koymaya hazır olduğunuza inanıyoruz .

Çözüm

Java.lang.Math.pow () yöntemi, hem tamsayılar hem de kesirli değerler olmak üzere çeşitli sayıların kuvvetini kolayca bulmanın harika bir yoludur. Kendi yazabileceğiniz bir yöntemin aksine, oldukça optimize edilmiştir ve zaman açısından kritik bir dizi uygulama için çok uygundur. Tüm sonuçları çift olarak çıkarsa da, örnekte yaptığımız gibi değeri her zaman bir tamsayıya çevirebiliriz. Ayrıca, kolaylık sağlamak için java.lang.Math kitaplığı, sonucu tercih edilen ondalık basamak sayısına yuvarlamak için yöntemler sağlar.
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION