Java Math Sınıfı Kullanımı
Aritmeetic operatörleri kullanarak istediğimiz değeri hesaplatabiliriz. fakat bu çok karışık bir işlem olabilir ve işlem büyüdükçe programı ağırlaştırabilir. Javadaki Math sınıfı ile bu işlemler çok daha basit olabilir.İşlem kalitesi : Math sınıfındaki işlemler çok çeşitlidir. İki sayıyı toplatabilirsinizde küp köküde rahatça aldırabilirsinizde. Bunlar çok kaliteli bir şekilde çalışmaktadır.
Mutlak Değer : Mutlak değer Matematiktende hatırlayacağımız gibi negatif olmayan değerdi. Eğer sayı zaten pozitif ise yapacak çok fazla birşey yok. İlk olarak java.lang.Math kütüphanesini entegre etmemiz gerekir.
Math sınıfından dönen değerler çok çeşitli olabilir. Int gönderirsen int döner, float gönderirsewn float döner, double gönderirsen double döner. Şimdi Örneğimize Geçelim Aşağıdaki örnekte Mutlak Değer için Abs kullanacağız...
import java.lang.Math;
public class Program {
public static void main(String[] args) {
// Burda int değer gönderdik
int deger = Math.abs(-1);
System.out.println(deger);
// burda double gönderdik
double deger2 = Math.abs(-1.23);
System.out.println(deger2);
int deger3 = Math.abs(1);
System.out.println(deger3);
}
}
1
1.23
1
Küçüğe Yuvarlama Fonksiyonu (Floor) : Bu fonksiyon bazen karıştırılabiliyor. Örnek olarak 1.9 değeri 1.0 a yuvarlanır. -1.3 fonksiyonuda -2.0 a yuvarlanır. Bu bazen karıştırılabiliyor. Fakat kolay bir mesele. Şimdi bunun örneğini yapalım
import java.lang.Math;
public class Program {
public static void main(String[] args) {
// Şimdi burdaki kullanıma bakalım.
double floor1 = Math.floor(1.9);
double floor2 = Math.floor(1.1);
double floor3 = Math.floor(-1.3);
System.out.println(floor1);
System.out.println(floor2);
System.out.println(floor3);
}
}
1.0
1.0
-2.0
Arttırma Fonksiyonu (Ceil) : Bu fonksiyon ile sayıların virgülden sonraki kısımları yuvarlanacak şekilde sayıyı arttırmaktır. Virgülden sonraki kısım önemli değildir. Kaç olursa olsun 0 olacaktır... Şimdi bununla ilgili örneğimizi yapalım
import java.lang.Math;
public class Program {
public static void main(String[] args) {
double deger = Math.ceil(1.1);
double deger2 = Math.ceil(-0.9);
System.out.println(deger);
System.out.println(deger2);
}
}
2.0
-0.0
KareKök Alma (Sqrt) : Girilen bir sayının karekökünün alınmasını sağlayan metoddur. Burda kütüphaneyi eklemeye gerek yoktur. Direk çağırırsanızda gelir.
Java program that uses Math.sqrt
public class Program {
public static void main(String[] args) {
// ... Test the sqrt method.
int deger = java.lang.Math.sqrt(4);
double deger2 = java.lang.Math.sqrt(9);
System.out.println(deger);
System.out.println(deger2);
}
}
2
3.0
Burda değişken türleirni double cinsinde tanımlamakta fayda var. int tanımlanırsa tam sayı döneceğinden virgülden sonra alan varsa göremezsiniz.
E ve Pi değerleri : Bazen programda E ve Pisabitlerini kullanmamız gerekebilir. Math sınıfı ile direk olarak bunları döndürebiliriz. Yani extra olarak değişken şeklinde tanımlamanıza gerek yok... Şimdi Bunlarla iilgili bir örnek yapalım...
public class Program {
public static void main(String[] args) {
//E ve Pi sabitlerini yazdıralım
double e = Math.E;
double pi = Math.PI;
System.out.println(e);
System.out.println(pi);
}
}
2.718281828459045
3.141592653589793
Exact metodu : Exact ile istediğimiz matematğiksel işlemi yaparız. Arttırma azaltma çarpma bölme tersleme gibi işlemleri yaparız.
import java.lang.Math;
public class Program {
public static void main(String[] args) {
// Kullanılabilir Exact metodlarını yazalım...
int deger = Math.addExact(3, 5);
int deger2 = Math.addExact(1000, 123);
int deger3 = Math.subtractExact(100, 33);
int deger4 = Math.multiplyExact(10, 4);
int deger5 = Math.incrementExact(54);
int deger6 = Math.decrementExact(34);
int deger7 = Math.negateExact(100);
// Şimdi sonuçları yazdıralım
System.out.printlndeger + "n " +deger2 + "n " + deger3 + "n " + deger4 + " n" + deger5 + "n " + deger6 + "n " + deger7);
// Bir hata alınırsada nasıl yakalanıp yazdırldığını gösterelim
try {
int hatali = Math.multiplyExact(Integer.MAX_VALUE, 100);
} catch (Exception ex) {
System.out.println(ex);
}
}
}
8
1123
67
40
55
33
-100
java.lang.ArithmeticException: integer overflow
Bu yazımızda buraya kadar
Burak Hamdi Tufan
İyi Çalışmalar...
Comments