Dasar-Dasar Class Math
Gunakan Math.abs, Math.pow, Math.sqrt, Math.random, dan berbagai metode Math yang sering digunakan.
Dasar-Dasar Class Math adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Kelas Math
Kelas java.lang.Math menyediakan metode utilitas statis untuk operasi matematika umum. Kelas ini selalu tersedia dan tidak memerlukan import.
Nilai Absolut dan Tanda
Math.abs() mengembalikan nilai absolut, yaitu nilai yang tidak negatif. Math.signum() mengembalikan -1.0, 0.0, atau 1.0 bergantung pada tandanya.
System.out.println(Math.abs(-42)); // 42
System.out.println(Math.abs(3.14)); // 3.14
System.out.println(Math.signum(-5.0)); // -1.0
System.out.println(Math.signum(0.0)); // 0.0
System.out.println(Math.signum(7.0)); // 1.0Pangkat, Akar Kuadrat, dan Akar Pangkat Tiga
Gunakan Math.pow(base, exp) untuk menghitung pangkat, Math.sqrt() untuk akar kuadrat, dan Math.cbrt() untuk akar pangkat tiga.
System.out.println(Math.pow(2, 10)); // 1024.0
System.out.println(Math.sqrt(144)); // 12.0
System.out.println(Math.cbrt(27)); // 3.0
// Hypotenuse of a right triangle (a=3, b=4)
double hyp = Math.sqrt(Math.pow(3, 2) + Math.pow(4, 2));
System.out.println(hyp); // 5.0Nilai Minimum, Maksimum, dan Batas
Math.min() dan Math.max() mengembalikan nilai yang lebih kecil atau lebih besar dari dua nilai. Gabungkan keduanya untuk menerapkan pembatas yang menjaga nilai tetap dalam suatu rentang.
int a = 10, b = 20;
System.out.println(Math.min(a, b)); // 10
System.out.println(Math.max(a, b)); // 20
// Clamp value between 0 and 100
int clamp(int value, int min, int max) {
return Math.max(min, Math.min(value, max));
}
System.out.println(clamp(150, 0, 100)); // 100
System.out.println(clamp(-5, 0, 100)); // 0
System.out.println(clamp(75, 0, 100)); // 75Pembulatan ke Bawah, ke Atas, dan Terdekat
Math.floor() membulatkan ke bawah, Math.ceil() membulatkan ke atas, dan Math.round() membulatkan ke bilangan bulat terdekat (setengah dibulatkan ke atas).
double price = 9.3;
System.out.println(Math.floor(price)); // 9.0
System.out.println(Math.ceil(price)); // 10.0
System.out.println(Math.round(price)); // 9
double shipping = 3.5;
System.out.println(Math.round(shipping)); // 4 (half-up)
// Round to 2 decimal places
double tax = 7.5678;
double rounded = Math.round(tax * 100.0) / 100.0;
System.out.println(rounded); // 7.57Logaritma dan Eksponensial
Math.log() menghitung logaritma natural (basis e), Math.log10() menghitung logaritma basis 10, dan Math.exp() menghitung e^x.
System.out.println(Math.log(Math.E)); // 1.0
System.out.println(Math.log10(1000)); // 3.0
System.out.println(Math.exp(1)); // 2.718281828...
// Change of base: log2(8)
double log2 = Math.log(8) / Math.log(2);
System.out.println(log2); // 3.0
// Compound interest: P * e^(r*t)
double principal = 1000, rate = 0.05, years = 10;
double amount = principal * Math.exp(rate * years);
System.out.printf("Amount: %.2f%n", amount); // 1648.72Metode Trigonometri
Math menyediakan fungsi trigonometri yang menerima sudut dalam radian. Gunakan Math.toRadians() untuk mengonversi derajat menjadi radian.
double angle = Math.toRadians(45);
System.out.printf("sin(45): %.4f%n", Math.sin(angle)); // 0.7071
System.out.printf("cos(45): %.4f%n", Math.cos(angle)); // 0.7071
System.out.printf("tan(45): %.4f%n", Math.tan(angle)); // 1.0000
// Distance between two GPS coordinates (simplified)
double lat1 = Math.toRadians(40.7128);
double lat2 = Math.toRadians(34.0522);
double deltaLat = lat2 - lat1;
System.out.printf("Delta lat (rad): %.4f%n", deltaLat);Bilangan Acak
Math.random() mengembalikan double dalam rentang [0.0, 1.0). Kalikan dan lakukan konversi tipe untuk mendapatkan bilangan bulat dalam suatu rentang. Untuk keacakan yang lebih baik, gunakan java.util.Random.
// Random double [0.0, 1.0)
double rand = Math.random();
// Random int [min, max] inclusive
int min = 1, max = 6;
int dice = (int) (Math.random() * (max - min + 1)) + min;
System.out.println("Dice roll: " + dice); // 1–6
// Prefer java.util.Random for more features
import java.util.Random;
Random rng = new Random();
int secureRoll = rng.nextInt(6) + 1; // cleaner API
System.out.println("Secure roll: " + secureRoll);Konstanta: PI dan E
Math.PI dan Math.E adalah konstanta double untuk π dan bilangan Euler e. Gunakan keduanya dalam perhitungan geometri dan keuangan.
System.out.println(Math.PI); // 3.141592653589793
System.out.println(Math.E); // 2.718281828459045
// Circle area and circumference
double radius = 7.0;
double area = Math.PI * Math.pow(radius, 2);
double circumference = 2 * Math.PI * radius;
System.out.printf("Area: %.2f%n", area); // 153.94
System.out.printf("Circumference: %.2f%n", circumference); // 43.98Math.floorDiv dan Math.floorMod
Math.floorDiv() dan Math.floorMod() menangani bilangan negatif secara konsisten, berbeda dari operator / dan % yang dapat menghasilkan perilaku tak terduga pada bilangan negatif.
// Regular % can be negative with negative dividend
System.out.println(-7 % 3); // -1 (may surprise you)
System.out.println(Math.floorMod(-7, 3)); // 2 (always non-negative)
// Floor division rounds toward negative infinity
System.out.println(-7 / 3); // -2 (truncates toward zero)
System.out.println(Math.floorDiv(-7, 3)); // -3 (floors down)
// Use floorMod for cyclic calculations like days of week
int day = Math.floorMod(-1, 7); // Sunday (6), not -1
System.out.println(day); // 6Praktik: Jarak dan Fisika
Menerapkan metode Math pada masalah fisika: menghitung jarak luncur proyektil menggunakan trigonometri dan akar kuadrat.
// Projectile range: R = v^2 * sin(2*angle) / g
double velocity = 50.0; // m/s
double angleDeg = 45.0; // degrees
double g = 9.81; // m/s^2
double angleRad = Math.toRadians(angleDeg);
double range = Math.pow(velocity, 2) * Math.sin(2 * angleRad) / g;
System.out.printf("Projectile range: %.1f m%n", range); // 254.8 mPemeriksaan Cepat
Apa keluaran dari Math.floorMod(-7, 3)?
Ringkasan: Kelas Math
Inti pembelajaran:
- Math.abs, Math.min, dan Math.max untuk perbandingan dasar
- Math.pow, Math.sqrt, dan Math.cbrt untuk pangkat dan akar
- Math.floor, Math.ceil, dan Math.round untuk pembulatan
- Math.log, Math.log10, dan Math.exp untuk logaritma dan eksponensial
- Math.sin, Math.cos, dan Math.tan menggunakan radian—konversikan dengan Math.toRadians
- Math.floorMod menangani bilangan negatif dengan rapi untuk aritmetika siklik
- Math.PI dan Math.E adalah konstanta bawaan
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar-Dasar Class Math” gratis?
Ya — teks lengkap “Dasar-Dasar Class Math” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Dasar-Dasar Class Math”?
Gunakan Math.abs, Math.pow, Math.sqrt, Math.random, dan berbagai metode Math yang sering digunakan. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Dasar-Dasar Class Math” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar Class Math
- Aritmetika Bilangan Bulat dan Overflow
- BigDecimal untuk Perhitungan Keuangan
- NumberFormat dan printf