Matematik funksiyalar jiddiyroq hisob-kitoblar uchun mo’ljallangan. Oddiy qo’shish-ayirishni operatorlar bilan bajaramiz, biroq ildiz olish, darajaga oshirish, yaxlitlash yoki eng katta sonni topish uchun Java’ning Math sinfi ishlatiladi. U ilmiy va muhandislik hisoblarining tayyor quroli.
Math — Java standart kutubxonasining matematik funksiya va konstantalarni saqlaydigan sinfi. Uning metodlari
Math.prefiksi bilan chaqiriladi va hech qanday ulanishni talab qilmaydi.
Asosiy metodlar
Eng ko’p ishlatiladigan metodlarni ko’rib chiqamiz:
public class Main {
public static void main(String[] args) {
System.out.println(Math.sqrt(144)); // kvadrat ildiz
System.out.println(Math.pow(2, 10)); // daraja
System.out.println(Math.abs(-15)); // modul
}
}
12.0
1024.0
15
Math.sqrt — kvadrat ildiz, Math.pow(a, b) — a ning b-darajasi, Math.abs — sonning musbat qiymati. E’tibor bering: sqrt va pow doim double qaytaradi.
Yaxlitlash metodlari
Math yaxlitlashning turli usullarini beradi. Ularni jadvalda solishtiramiz:
| Metod | Vazifasi | f(3.4) |
f(3.6) |
|---|---|---|---|
Math.round() |
eng yaqin butunga | 3 |
4 |
Math.ceil() |
yuqoriga | 4.0 |
4.0 |
Math.floor() |
pastga | 3.0 |
3.0 |
Amalda:
public class Main {
public static void main(String[] args) {
System.out.println(Math.round(3.5)); // eng yaqinga
System.out.println(Math.ceil(3.2)); // doim yuqoriga
System.out.println(Math.floor(3.9)); // doim pastga
}
}
4
4.0
3.0
round eng yaqin butunga (va long qaytaradi), ceil har doim yuqoriga, floor har doim pastga yaxlitlaydi.
Eng katta va eng kichik
Math.max va Math.min ikki sondan mos ravishda kattasini va kichigini qaytaradi:
public class Main {
public static void main(String[] args) {
int a = 42, b = 17;
System.out.println("Katta: " + Math.max(a, b));
System.out.println("Kichik: " + Math.min(a, b));
}
}
Katta: 42
Kichik: 17
Tasodifiy son va konstantalar
Math.random() 0 dan 1 gacha tasodifiy son beradi, Math.PI esa pi konstantasini saqlaydi:
public class Main {
public static void main(String[] args) {
int zar = (int)(Math.random() * 6) + 1; // 1 dan 6 gacha
double radius = 5;
double yuza = Math.PI * Math.pow(radius, 2);
System.out.println("Zar: " + zar);
System.out.printf("Aylana yuzasi: %.2f%n", yuza);
}
}
Zar: 4
Aylana yuzasi: 78.54
Math.random() * 6 ni butun songa aylantirib, + 1 bilan 1-6 oralig’idagi zar hosil qildik. Math.PI bilan esa aylana yuzasini hisobladik.
Xulosa
Bu bo’limda Math sinfi bilan sqrt, pow, abs, yaxlitlash metodlari (round, ceil, floor), max/min, random va Math.PI ni ko’rib chiqdik. Jiddiy matematik amallar uchun Math birinchi yordamchi. Keyingi darsda shart operatorlariga o’tamiz.