Java Academy · Pelajaran

Asas Penting Kelas Math

Gunakan Math.abs, Math.pow, Math.sqrt, Math.random dan kaedah Math lain yang kerap digunakan.

Pelajaran 1 daripada 413 langkah

Asas Penting Kelas Math ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Kelas Math

Kelas java.lang.Math menyediakan kaedah utiliti statik untuk operasi matematik umum. Ia sentiasa tersedia — import tidak diperlukan.

Nilai Mutlak dan Tanda

Math.abs() mengembalikan nilai mutlak, iaitu nilai bukan 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.0

Kuasa, Punca Kuasa Dua dan Punca Kuasa Tiga

Gunakan Math.pow(base, exp) untuk kuasa, Math.sqrt() untuk punca kuasa dua dan Math.cbrt() untuk punca kuasa 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.0

Nilai Minimum, Maksimum dan Pembatasan

Math.min() dan Math.max() mengembalikan nilai yang lebih kecil atau lebih besar antara dua nilai. Gabungkan kedua-duanya untuk melaksanakan pembatasan yang mengekalkan nilai dalam suatu julat.

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)); // 75

Pembundaran ke Bawah, ke Atas dan Terdekat

Math.floor() membundarkan ke bawah, Math.ceil() membundarkan ke atas dan Math.round() membundarkan kepada integer terdekat, dengan separuh dibundarkan 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.57

Logaritma dan Eksponen

Math.log() mengira logaritma asli, iaitu berasas e, Math.log10() mengira logaritma berasas 10 dan Math.exp() mengira 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.72

Kaedah Trigonometri

Math menyediakan fungsi trigonometri yang menerima sudut dalam radian. Gunakan Math.toRadians() untuk menukar darjah kepada 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);

Nombor Rawak

Math.random() mengembalikan double dalam [0.0, 1.0). Darabkan dan lakukan penukaran jenis untuk mendapatkan integer dalam suatu julat. Untuk kerawakan 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);

Pemalar: PI dan E

Math.PI dan Math.E ialah pemalar double untuk π dan nombor Euler e. Gunakannya dalam pengiraan geometri dan kewangan.

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.98

Math.floorDiv dan Math.floorMod

Math.floorDiv() dan Math.floorMod() mengendalikan nombor negatif secara konsisten — berbeza daripada operator / dan %, yang boleh memberikan hasil yang tidak dijangka dengan nombor 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); // 6

Amali: Jarak dan Fizik

Mengaplikasikan kaedah Math kepada masalah fizik: mengira jarak lontaran menggunakan trigonometri dan punca kuasa dua.

// 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 m

Semakan Pantas

Apakah output bagi Math.floorMod(-7, 3)?

Imbas Kembali: Kelas Math

Kesimpulan utama:

  • Math.abs, Math.min, Math.max untuk perbandingan asas
  • Math.pow, Math.sqrt, Math.cbrt untuk eksponen dan punca
  • Math.floor, Math.ceil, Math.round untuk pembundaran
  • Math.log, Math.log10, Math.exp untuk logaritma dan eksponen
  • Math.sin, Math.cos, Math.tan menggunakan radian — tukarkan dengan Math.toRadians
  • Math.floorMod mengendalikan nombor negatif dengan kemas untuk aritmetik berkitar
  • Math.PI dan Math.E ialah pemalar terbina dalam
Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “Asas Penting Kelas Math” percuma?

Ya — teks penuh “Asas Penting Kelas Math” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Asas Penting Kelas Math”?

Gunakan Math.abs, Math.pow, Math.sqrt, Math.random dan kaedah Math lain yang kerap digunakan. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Asas Penting Kelas Math” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas Penting Kelas Math
  2. Aritmetik Integer dan Limpahan
  3. BigDecimal untuk Pengiraan Kewangan
  4. NumberFormat dan printf
← Kembali ke Java Academy