Odak modu
1. Math Sınıfının Genel Özellikleri
Tüm metotları statiktir (static). Nesne oluşturmadan Math.methodName() şeklinde kullanılabilir.
Matematiksel işlemleri optimize eder. Performans açısından en verimli algoritmalar kullanılır.
Trigonometri, üstel fonksiyonlar, yuvarlama işlemleri, maksimum-minimum hesaplamaları gibi birçok işlem için metotlar sağlar.
2. Temel Math Metotları
2.1 Mutlak Değer (abs)
Pozitif veya negatif bir sayının mutlak değerini döndürür.
System.out.println(Math.abs(-10)); // Çıktı: 10
System.out.println(Math.abs(5.7)); // Çıktı: 5.7
2.2 Üs Alma (pow, sqrt, cbrt)
pow(x, y): x sayısının y üssünü alır.
sqrt(x): x sayısının karekökünü alır.
cbrt(x): x sayısının küpkökünü alır.
System.out.println(Math.pow(2, 3)); // 2^3 = 8.0
System.out.println(Math.sqrt(16)); // √16 = 4.0
System.out.println(Math.cbrt(27)); // ∛27 = 3.0
2.3 Min ve Max Değerleri (min, max)
İki sayıyı karşılaştırarak minimum veya maksimum değeri döndürür.
System.out.println(Math.min(10, 20)); // Çıktı: 10
System.out.println(Math.max(10, 20)); // Çıktı: 20
2.4 Yuvarlama İşlemleri (round, ceil, floor)
round(x): En yakın tam sayıya yuvarlar.
ceil(x): Yukarı yuvarlar (En küçük bir üst tam sayı).
floor(x): Aşağı yuvarlar (En büyük bir alt tam sayı).
System.out.println(Math.round(5.4)); // Çıktı: 5
System.out.println(Math.round(5.6)); // Çıktı: 6
System.out.println(Math.ceil(5.1)); // Çıktı: 6.0
System.out.println(Math.floor(5.9)); // Çıktı: 5.0
3. Trigonometri Metotları
Bu metotlar genellikle radyan cinsinden çalışır.
3.1 Sinüs, Kosinüs ve Tanjant
System.out.println(Math.sin(Math.PI / 2)); // Çıktı: 1.0
System.out.println(Math.cos(0)); // Çıktı: 1.0
System.out.println(Math.tan(Math.PI / 4)); // Çıktı: 1.0
3.2 Açıyı Derece-Radyan Dönüştürme
toRadians(degree): Dereceyi radyana çevirir.
toDegrees(radian): Radyanı dereceye çevirir.
System.out.println(Math.toRadians(180)); // Çıktı: 3.14159... (π)
System.out.println(Math.toDegrees(Math.PI)); // Çıktı: 180.0
4. Logaritma ve Üstel Fonksiyonlar
exp(x): e^x hesaplar (e ≈ 2.718).
log(x): Doğal logaritmayı (ln) hesaplar.
log10(x): 10 tabanında logaritmayı hesaplar.
System.out.println(Math.exp(1)); // Çıktı: 2.718 (e^1)
System.out.println(Math.log(10)); // Çıktı: 2.302 (ln(10))
System.out.println(Math.log10(100)); // Çıktı: 2.0
5. Rastgele Sayı Üretme (random)
Math.random() metodu, 0.0 ile 1.0 arasında rastgele bir ondalıklı sayı döndürür.
System.out.println(Math.random()); // Örneğin: 0.345678
5.1 Belirli Bir Aralıkta Rastgele Sayı Üretmek
Örneğin 1 ile 10 arasında rastgele bir sayı üretmek için:
int rastgeleSayi = (int) (Math.random() * 10) + 1;
System.out.println(rastgeleSayi); // 1 ile 10 arasında bir değer üretir
6. Matematiksel Sabitler (PI ve E)
Math.PI ≈ 3.141592653589793
Math.E ≈ 2.718281828459045
System.out.println(Math.PI); // Çıktı: 3.141592653589793
System.out.println(Math.E); // Çıktı: 2.718281828459045
7. Mod Alma (IEEEremainder, floorMod)
Mod alma işlemleri için farklı yöntemler mevcuttur.
System.out.println(Math.floorMod(10, 3)); // 10 % 3 = 1
System.out.println(Math.IEEEremainder(10, 3)); // Çıktı: -2.0
8. Özet Tablosu
abs(x): Mutlak değer döndürür
pow(x, y): x^y üstel işlemi yapar
sqrt(x): Karekök hesaplar
cbrt(x: Küpkök hesaplar
min(x, y): Küçük olanı döndürür
max(x, y): Büyük olanı döndürür
round(x): En yakın tam sayıya yuvarlar
ceil(x): Yukarı yuvarlar
floor(x): Aşağı yuvarlar
sin(x), cos(x), tan(x): Trigonometrik işlemler
toRadians(x), toDegrees(x): Derece ↔ Radyan dönüşümü
exp(x): e^x üstel hesaplama
log(x), log10(x): Logaritma işlemleri
random(): 0.0 - 1.0 arasında rastgele sayı üretir
PI, E: Matematiksel sabitler
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!