Java, fizikte karmaşık hesaplamalarla çalışma, yapıların mimarisi / tasarımı, Haritalar ile çalışma ve karşılık gelen enlemler / boylamlar vb. Dahil olmak üzere birçok gelişmiş kullanım uygulamasına sahiptir.
Bu eğitimde şunları öğreneceksiniz:
- Math.abs
- Math.round
- Math.ceil & Math.floor
- Math.min
Tüm bu tür uygulamalar, manuel olarak gerçekleştirilmesi yorucu olan karmaşık hesaplamalar / denklemler kullanılmasını gerektirir. Programlı olarak, bu tür hesaplamalar logaritma, trigonometri, üstel denklemler vb. Kullanımını içerecektir.
Artık, tüm günlük veya trigonometri tablolarını uygulamanızın veya verilerinizin herhangi bir yerinde sabit kodlanmış olamazsınız. Veriler çok büyük ve bakımı karmaşık olacaktır.
Java, bu amaç için çok kullanışlı bir sınıf sağlar. Math java sınıfıdır (java.lang.Math).
Bu sınıf, üstel, logaritma, kökler ve trigonometrik denklemler gibi işlemleri gerçekleştirmek için yöntemler de sağlar.
Java Math sınıfı tarafından sağlanan yöntemlere bir göz atalım.
Math'daki en temel iki unsur 'e' (doğal logaritmanın tabanı) ve 'pi'dir (bir dairenin çevresinin çapına oranı). Bu iki sabit genellikle yukarıdaki hesaplamalarda / işlemlerde gereklidir.
Bu nedenle, Math sınıfı java bu iki sabiti çift alan olarak sağlar.
Math.E - 2.718281828459045 gibi bir değere sahip olmak
Math.PI - 3.141592653589793 gibi bir değere sahip olmak
A) Bize Temel yöntemleri ve açıklamasını gösteren aşağıdaki tabloya bir göz atalım.
Yöntem | Açıklama | Argümanlar |
abs | Bağımsız değişkenin mutlak değerini verir | Double, float, int, long |
yuvarlak | Kapalı int veya long (bağımsız değişkene göre) döndürür | çift veya şamandıra |
tavan | Bağımsız değişkenden büyük veya ona eşit olan en küçük tamsayıyı verir | Çift |
zemin | Bağımsız değişkenden küçük veya ona eşit olan en büyük tamsayıyı verir | Çift |
min | İki bağımsız değişkenin en küçüğünü verir | Double, float, int, long |
max | İki bağımsız değişkenden en büyüğünü verir | Double, float, int, long |
Aşağıda, yukarıdaki yöntemlerin kod uygulaması verilmiştir:
Not: java.lang.Math'in dolaylı olarak içe aktarılmasına gerek yoktur. Tüm yöntemleri statiktir.
Tamsayı Değişkeni
int i1 = 27;int i2 = -45;
Çift (ondalık) değişken
double d1 = 84.6;double d2 = 0.45;
Math.abs
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Absolute value of i1: " + Math.abs(i1));System.out.println("Absolute value of i2: " + Math.abs(i2));System.out.println("Absolute value of d1: " + Math.abs(d1));System.out.println("Absolute value of d2: " + Math.abs(d2));}}Çıktı:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Math.round
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Round off for d1: " + Math.round(d1));System.out.println("Round off for d2: " + Math.round(d2));}}Çıktı:
Round off for d1: 85Round off for d2: 0
Math.ceil & Math.floor
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1));System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1));System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2));System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2));}}Çıktı:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Math.min
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2));System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2));System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2));System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2));}}Çıktı:
Minimum out of '27' and '-45' = -45Maximum out of '27' and '-45' = 27Minimum out of '84.6' and '0.45' = 0.45Maximum out of '84.6' and '0.45' = 84.6
B) Bize Üstel ve Logaritmik yöntemleri ve açıklamasını gösteren aşağıdaki tabloya bir göz atalım.
Yöntem | Açıklama | Argümanlar |
tecrübe | Doğal log (e) tabanını argümanın gücüne döndürür | Çift |
Günlük | Bağımsız değişkenin doğal günlüğünü verir | çift |
Pow | Giriş olarak 2 argüman alır ve ikinci argümanın üssüne yükseltilen ilk argümanın değerini döndürür | Çift |
zemin | Bağımsız değişkenden küçük veya ona eşit olan en büyük tamsayıyı verir | Çift |
Sqrt | Argümanın karekökünü verir | Çift |
Aşağıda, yukarıdaki yöntemlerin kod uygulaması verilmiştir: (Yukarıdaki ile aynı değişkenler kullanılmıştır)
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("exp(" + d2 + ") = " + Math.exp(d2));System.out.println("log(" + d2 + ") = " + Math.log(d2));System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));System.out.println("sqrt(16) = " + Math.sqrt(16));}}Çıktı:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Trigonometrik yöntemleri ve açıklamasını gösteren aşağıdaki tabloya bir göz atalım.
Yöntem | Açıklama | Argümanlar |
Günah | Belirtilen bağımsız değişkenin Sinüsünü verir | Çift |
Çünkü | Belirtilen bağımsız değişkenin Kosinüsünü verir | çift |
Tan | Belirtilen bağımsız değişkenin teğetini verir | Çift |
Atan2 | Dikdörtgen koordinatları (x, y) kutupsal (r, teta) 'ya dönüştürür ve teta'yı döndürür | Çift |
toDegrees | Argümanları dereceye dönüştürür | Çift |
Sqrt | Argümanın karekökünü verir | Çift |
toRadialılar | Argümanları radyanlara dönüştürür | Çift |
Varsayılan Bağımsız Değişkenler Radyan cinsindendir
Kod uygulaması aşağıdadır:
public class Guru99 {public static void main(String args[]) {double angle_30 = 30.0;double radian_30 = Math.toRadians(angle_30);System.out.println("sin(30) = " + Math.sin(radian_30));System.out.println("cos(30) = " + Math.cos(radian_30));System.out.println("tan(30) = " + Math.tan(radian_30));System.out.println("Theta = " + Math.atan2(4, 2));}}Çıktı:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Şimdi, yukarıdakilerle, java'da kendi bilimsel hesap makinenizi de tasarlayabilirsiniz.