Java telah memiliki beberapa aplikasi penggunaan lanjutan termasuk bekerja dengan perhitungan kompleks dalam fisika, seni bina / merancang struktur, bekerja dengan Peta dan garis lintang / garis bujur yang sesuai, dll
Dalam tutorial ini, anda akan belajar:
- Math.abs
- Matematik.round
- Math.ceil & Math.floor
- Math.min
Semua aplikasi tersebut memerlukan pengiraan / persamaan kompleks yang membosankan untuk dilakukan secara manual. Secara terprogram, pengiraan tersebut akan melibatkan penggunaan logaritma, trigonometri, persamaan eksponensial, dll.
Sekarang, anda tidak boleh mempunyai semua jadual log atau trigonometri yang dikodkan keras di suatu tempat dalam aplikasi atau data anda. Data akan sangat besar dan kompleks untuk disimpan.
Java menyediakan kelas yang sangat berguna untuk tujuan ini. Ia adalah kelas Math java (java.lang.Math).
Kelas ini menyediakan kaedah untuk menjalankan operasi seperti persamaan eksponensial, logaritma, akar dan trigonometri.
Mari kita lihat kaedah yang disediakan oleh kelas Java Math.
Dua elemen paling asas dalam Matematik adalah 'e' (asas logaritma semula jadi) dan 'pi' (nisbah lilitan bulatan dengan diameternya). Kedua pemalar ini sering diperlukan dalam pengiraan / operasi di atas.
Oleh itu java kelas Matematik menyediakan kedua pemalar ini sebagai medan berganda.
Math.E - mempunyai nilai sebagai 2.718281828459045
Math.PI - mempunyai nilai sebagai 3.141592653589793
A) Mari kita lihat jadual di bawah yang menunjukkan kaedah Asas dan keterangannya
Kaedah | Penerangan | Hujah |
abs | Mengembalikan nilai mutlak hujah | Berganda, terapung, int, panjang |
bulat | Mengembalikan int atau panjang tertutup (seperti argumen) | berganda atau terapung |
siling | Mengembalikan bilangan bulat terkecil yang lebih besar daripada atau sama dengan argumen | Berganda |
lantai | Mengembalikan bilangan bulat terbesar yang kurang daripada atau sama dengan argumen | Berganda |
min | Mengembalikan terkecil dari dua argumen | Berganda, terapung, int, panjang |
maks | Mengembalikan argumen yang paling besar | Berganda, terapung, int, panjang |
Berikut adalah pelaksanaan kod kaedah di atas:
Catatan: Tidak perlu mengimport java.lang.Math secara eksplisit seperti yang diimport secara tersirat. Semua kaedahnya adalah statik.
Pemboleh ubah integer
int i1 = 27;int i2 = -45;
Pemboleh ubah berganda (perpuluhan)
double d1 = 84.6;double d2 = 0.45;
Math.abs
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Absolute value of i1: " + Math.abs(i1));System.out.println("Absolute value of i2: " + Math.abs(i2));System.out.println("Absolute value of d1: " + Math.abs(d1));System.out.println("Absolute value of d2: " + Math.abs(d2));}}Pengeluaran:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Matematik.round
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Round off for d1: " + Math.round(d1));System.out.println("Round off for d2: " + Math.round(d2));}}Pengeluaran:
Round off for d1: 85Round off for d2: 0
Math.ceil & Math.floor
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1));System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1));System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2));System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2));}}Pengeluaran:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Math.min
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2));System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2));System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2));System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2));}}Pengeluaran:
Minimum out of '27' and '-45' = -45Maximum out of '27' and '-45' = 27Minimum out of '84.6' and '0.45' = 0.45Maximum out of '84.6' and '0.45' = 84.6
B) Mari kita lihat jadual di bawah yang menunjukkan kepada kita kaedah Exponential dan Logarithmic dan keterangannya-
Kaedah | Penerangan | Hujah |
luput | Mengembalikan asas log semula jadi (e) ke kekuatan hujah | Berganda |
Log | Mengembalikan log semula jadi hujah | berganda |
Pow | Mengambil 2 argumen sebagai input dan mengembalikan nilai argumen pertama yang dikemukakan kepada kekuatan argumen kedua | Berganda |
lantai | Mengembalikan bilangan bulat terbesar yang kurang daripada atau sama dengan argumen | Berganda |
Sqrt | Mengembalikan punca kuasa dua argumen | Berganda |
Berikut adalah pelaksanaan kod kaedah di atas: (Pemboleh ubah yang sama digunakan seperti di atas)
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("exp(" + d2 + ") = " + Math.exp(d2));System.out.println("log(" + d2 + ") = " + Math.log(d2));System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));System.out.println("sqrt(16) = " + Math.sqrt(16));}}Pengeluaran:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Mari kita lihat jadual di bawah yang menunjukkan kaedah Trigonometri dan keterangannya-
Kaedah | Penerangan | Hujah |
Dosa | Mengembalikan Sinus dari argumen yang ditentukan | Berganda |
Cos | Mengembalikan Cosine dari argumen yang ditentukan | berganda |
Tan | Mengembalikan Tangen bagi argumen yang ditentukan | Berganda |
Atan2 | Menukar koordinat segi empat tepat (x, y) menjadi polar (r, theta) dan mengembalikan theta | Berganda |
kepadaDegrees | Menukar hujah menjadi darjah | Berganda |
Sqrt | Mengembalikan punca kuasa dua argumen | Berganda |
kepadaRadians | Menukar hujah menjadi radian | Berganda |
Hujah Lalai adalah dalam bahasa Radian
Berikut adalah pelaksanaan kod:
public class Guru99 {public static void main(String args[]) {double angle_30 = 30.0;double radian_30 = Math.toRadians(angle_30);System.out.println("sin(30) = " + Math.sin(radian_30));System.out.println("cos(30) = " + Math.cos(radian_30));System.out.println("tan(30) = " + Math.tan(radian_30));System.out.println("Theta = " + Math.atan2(4, 2));}}Pengeluaran:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Sekarang, dengan perkara di atas, anda juga boleh merancang kalkulator saintifik anda sendiri dalam java.