Java memiliki beberapa aplikasi penggunaan tingkat lanjut termasuk bekerja dengan kalkulasi kompleks dalam fisika, arsitektur / perancangan struktur, bekerja dengan Maps dan garis lintang / bujur yang sesuai, dll.
Dalam tutorial ini, Anda akan mempelajari:
- Math.abs
- Math.round
- Math.ceil & Math.floor
- Matematika.min
Semua aplikasi semacam itu memerlukan penggunaan kalkulasi / persamaan kompleks yang membosankan untuk dilakukan secara manual. Secara terprogram, perhitungan seperti itu akan melibatkan penggunaan logaritma, trigonometri, persamaan eksponensial, dll.
Sekarang, Anda tidak dapat membuat semua tabel log atau trigonometri di-hardcode di suatu tempat di aplikasi atau data Anda. Datanya akan sangat besar dan rumit untuk dikelola.
Java menyediakan kelas yang sangat berguna untuk tujuan ini. Ini adalah kelas Matematika java (java.lang.Math).
Kelas ini menyediakan metode untuk melakukan operasi seperti persamaan eksponensial, logaritma, akar dan trigonometri juga.
Mari kita lihat metode yang disediakan oleh kelas Matematika Java.
Dua elemen paling mendasar dalam Matematika adalah 'e' (basis logaritma natural) dan 'pi' (rasio keliling lingkaran dengan diameternya). Kedua konstanta ini sering kali diperlukan dalam perhitungan / operasi di atas.
Karenanya kelas Matematika java menyediakan dua konstanta ini sebagai bidang ganda.
Math.E - memiliki nilai 2,718281828459045
Math.PI - memiliki nilai sebagai 3.141592653589793
A) Mari kita lihat tabel di bawah ini yang menunjukkan kepada kita metode Dasar dan deskripsinya
metode | Deskripsi | Argumen |
abs | Mengembalikan nilai absolut dari argumen | Double, float, int, long |
bulat | Mengembalikan int atau long tertutup (sesuai argumen) | ganda atau mengambang |
langit-langit | Mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan argumen | Dua kali lipat |
lantai | Mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan argumen | Dua kali lipat |
min | Menampilkan terkecil dari dua argumen | Double, float, int, long |
maks | Mengembalikan nilai terbesar dari dua argumen | Double, float, int, long |
Di bawah ini adalah implementasi kode dari metode di atas:
Catatan: Tidak perlu mengimpor java.lang.Math secara eksplisit karena diimpor secara implisit. Semua metodenya statis.
Variabel Integer
int i1 = 27;int i2 = -45;
Variabel ganda (desimal)
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));}}Keluaran:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Math.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));}}Keluaran:
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));}}Keluaran:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Matematika.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));}}Keluaran:
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 tabel di bawah ini yang menunjukkan kepada kita metode Eksponensial dan Logaritma dan deskripsinya-
metode | Deskripsi | Argumen |
exp | Mengembalikan basis dari log natural (e) ke pangkat argumen | Dua kali lipat |
Catatan | Mengembalikan log alami dari argumen | dua kali lipat |
Pow | Mengambil 2 argumen sebagai input dan mengembalikan nilai dari argumen pertama yang dipangkatkan dari argumen kedua | Dua kali lipat |
lantai | Mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan argumen | Dua kali lipat |
Sqrt | Mengembalikan akar kuadrat dari argumen | Dua kali lipat |
Di bawah ini adalah implementasi kode dari metode di atas: (Variabel 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));}}Keluaran:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Mari kita lihat tabel di bawah ini yang menunjukkan kepada kita metode Trigonometri dan deskripsinya-
metode | Deskripsi | Argumen |
Dosa | Mengembalikan Sinus dari argumen yang ditentukan | Dua kali lipat |
Cos | Mengembalikan Cosine dari argumen yang ditentukan | dua kali lipat |
Tan | Mengembalikan Tangen dari argumen yang ditentukan | Dua kali lipat |
Atan2 | Mengonversi koordinat persegi panjang (x, y) menjadi kutub (r, theta) dan mengembalikan theta | Dua kali lipat |
toDegrees | Mengubah argumen menjadi derajat | Dua kali lipat |
Sqrt | Mengembalikan akar kuadrat dari argumen | Dua kali lipat |
toRadians | Mengonversi argumen menjadi radian | Dua kali lipat |
Argumen Default dalam Radian
Di bawah ini adalah implementasi kode:
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));}}Keluaran:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Nah, dengan bantuan di atas, Anda juga bisa merancang kalkulator ilmiah Anda sendiri di java.