Các Hàm Toán Học - Math Trong Java - Lập Trình Từ Đầu
Có thể bạn quan tâm
Java có một lớp gọi là lớp Math cung cấp các hàm về toán học như abs , ceil , floor ,… Lớp này nằm trong gói java.lang (gói mặc định) do vậy ta không cần phải thêm câu lệnh import ở đầu chương trình để có thể sử dụng lớp này. Các hàm này được viết là các phương thức tĩnh do vậy ta không cần phải tạo ra thể hiện của lớp Math. Để gọi hàm chỉ đơn giản viết tên lớp Math và tên phương thức cần gọi.
Math là thư viện cung cấp các phương thức có sẵn để giải quyết các vấn đề về số học. Các phương thức này phần lớn trả về giá trị kiểu double .
Trước khi gọi các hàm Math , ta có thể import package để khỏi phải viết đầy đủ tên pack , ví dụ như
import java.lang.Math;
1.1. Các thuộc tính của Math
Thư viện toán học Math là thư viện cung cấp các phương thức có sẵn để giải quyết các vấn đề về số học, chính vì thế mà lớp này cũng đã cung cấp cho chúng ta những thuộc tính để chúng ta sử dụng.
- E : hằng số Euler (~ 2.7) // Math.E // public static double E = 2.718281828459045D
- PI : số pi (~ 3.14). // Math.PI // public static double PI = 3.141592653589793D
Ví dụ:
double eu = Math.E; // ~ 2.7 double pi = Math.PI; // ~ 3.141.2. Các phương thức có trong Math
Trong java cung cấp cho chúng ta các hàm hỗ trợ tính toán nâng cao như tính sin, cos, căn bậc 2, làm tròn,… Sử dụng tốt lớp này khiến cho việc lập trình của chúng ta trở nên đơn giản hơn, dưới đây là tổng hợp các phép tính mà lớp Math hỗ trợ
Tên phương thức | Mô tả |
PI | Trả về giá trị PI. |
abs(a) | Trả về giá trị tuyệt đối của số a. |
max(a,b) | Trả về giá trị lớn nhất giữa 2 số a và b. |
min(a,b) | Trả về giá trị nhỏ nhất giữa 2 số a và b. |
sqrt(a) | Trả về căn bậc 2 của số a. |
pow(x,y) | Tính lũy thừa xy. |
sin(radian) | Tính sin, với radian = Math.PI * góc / 180. |
cos(radian) | Tính cos. |
tan(radian) | Tính tan. |
Để sử dụng các phương thức trên, chúng ta sẽ thực hiện theo cú pháp sau : Math.[Tên_phương_thức];
Nhưng ví dụ về các phương thức ta sẽ tìm hiểu ngay sau đây
2. Tính giá trị tuyệt đối trong JavaMath.abs() trả về giá trị tuyệt đối(số dương) của tham số truyền vào. Ví dụ như tính giá trị tuyệt đối của một số a. Lúc này Số a này có thể có kiểu dữ liệu là int , double , float hoặc long
Math.abs(int) Math.abs(long) Math.abs(float) Math.abs(double)Ví dụ:
class Main { public static void main(String[] args) { int x = 10; int y = -20; System.out.println(Math.abs(x - y)); // 30 System.out.println(Math.abs(y - x)); // 30 System.out.println(Math.abs(y)); // 20 System.out.println(Math.abs(x)); // 10 } }Kết quả
30 30 20 10Ngoài ra ta còn có hàm Max.round() để làm tròn số theo quy luật thông thường trong toán học. Ví dụ như 2.3 thì làm tròn xuống 2 còn 2.6 thì làm tròn lên 3 . Math.round() có 2 overload method:
Math.round(float, float) Math.round(double, double)Ví dụ:
class Main{ public static void main(String[] args) { double x = 8.3234; System.out.println(Math.round(x)); } }Kết quả
8 3. Làm tròn giá trị trong JavaMath.ceil() làm tròn lên một giá trị floating-point đến giá trị integer gần nhất.
Math.floor() làm tròn xuống một giá trị floating-point đến giá trị integer gần nhất.
Ví dụ:
class Main { public static void main(String[] args) { int i = 5; float f = 5.4f; double d = 5.224d; double ri = Math.ceil(i); // 5.0 double rf = Math.ceil(f); // 6.0 double rd = Math.ceil(d); // 6.0 } }Kết quả
5.0 6.0 6.0 class Main { public static void main(String[] args) { int i = 5; float f = 5.4f; double d = 5.224d; double ri = Math.floor(i); // 5.0 double rf = Math.floor(f); // 5.0 double rd = Math.floor(d); // 5.0 } }Kết quả
5.0 5.0 5.0 4. Lấy số nhỏ nhất và lớn nhất của 2 số trong JavaMath.min(a,b) là phương thức trả về giá trị nhỏ nhất giữa 2 số a và b. Math.min() có 4 overload method.
Math.min(int, int) Math.min(long, long) Math.min(float, float) Math.min(double, double)Ví dụ:
class Main { public static void main(String[] args) { int i = Math.min(1, 2); // 1 float f = Math.min(3.4f, 3.5f); // 3.4f float f1 = Math.min(3, 3.5f); // 3 double d = Math.min(3.434d, 3.435d); // 3.434d double d1 = Math.min(3, 3.345d); // 3 double d2 = Math.min(3.5f, 3.345d); // 3.345d } }Math.max(a,b) là phương thức trả về giá trị lớn nhất giữa 2 số a và b. Math.max() có 4 overload method:
Math.math(int, int) Math.math(long, long) Math.math(float, float) Math.math(double, double)Ví dụ:
public class Main { public static void main(String[] args) { int i = Math.max(1, 2); // 2 float f = Math.max(3.4f, 3.5f); // 3.5f float f1 = Math.max(3, 3.5f); // 3.5 double d = Math.max(3.434d, 3.435d); // 3.435d double d1 = Math.max(3, 3.345d); // 3.345d double d2 = Math.max(3.5f, 3.345d); // 3.5 } } 5. Lấy số ngẫu nhiên trong JavaMath.random() trả một một float-point trong khoảng 0 đến 1.
Ví dụ:
class Main { public static void main(String[] args) { System.out.println(Math.random()); } }Để kiểm soát nhiều hơn số ngẫu nhiên, ví dụ: bạn chỉ muốn một số ngẫu nhiên từ 0 đến 100, bạn có thể sử dụng công thức sau:
class Main { public static void main(String[] args) { int randomNum = (int)(Math.random() * 101); // 0 to 100 System.out.println(randomNum); } } 6. Số mũ và Logarit trong JavaMath class cũng chứa một tập các method hỗ trợ mũ và lôgarit . Ta có một số phương thức như:
- Math.sqrt() trả về giá trị căn bậc 2 của tham số truyền vào.
- Math.exp() trả số mũ n trong tham số truyền vào của hằng số e.
- Math.log() trả về logarit cơ số e của n là tham số đầu vào.
- Math.log10() trả về logarit cơ số 10 của n là tham số đầu vào.
- Math.pow(double t1, double t2) nhận vào 2 tham số t1 , t2, trong đó t1 là số được luỹ thừa lên t2 lần.
Ví dụ: ví dụ về Math.sqrt()
public class Main { public static void main(String[] args) { double number = 26; double canBacHai = Math.sqrt(number); System.out.println("Căn bậc hai của " + number + " = " + canBacHai); } }Kết quả
Căn bậc 2 của 26.0 = 0999019139Math.pow
public class Main { public static void main(String[] args) { double x = 2, y = 3, z; z = Math.pow(x, y); System.out.println(x + "^" + y + " = " + z); } }Kết quả
2.0^3.0 = 8.0 7. Các hàm lượng giác trong JavaMath cũng cung cấp cho ta những method để xử lý những hàm lượng giác.
- Math.PI là một hằng số kiểu double trong Math class chứa giá trị của hằng số PI trong toán học
- Math.sin() trả về giá trị sin của một góc tính theo đơn vị radian . Lưu ý công thức chuyển từ độ sang radian là (độ / 180 * PI). Chúng ta có thể dùng toRadians() để chuyển từ độ sang radian
- Math.cos() trả về giá trị cos của một góc tính theo đơn vị radian
- Math.tan() trả về giá trị tan của một góc tính theo đơn vị radian
- …
Ví dụ:
Math.PI
public class Main { public static void main(String[] args) { System.out.println(Math.PI); // 3.141592653589793 } }Kết quả
3.141592653589793Math.sin(double radian)
public class Main { public static void main(String[] args) { System.out.println("Ví dụ tính sin góc 90 độ."); int goc = 90; // đưa 1 góc về radian double radian = Math.PI * goc / 180; System.out.println("sin(" + goc +") = " + Math.sin(radian)); } }Kết quả
Ví dụ tính sin góc 90 độ. sin(90) = 1.0Math.cos(double radian)
public class Main { public static void main(String[] args) { System.out.println("Ví dụ tính cos góc 45 độ."); int goc = 45; // đưa 1 góc về radian double radian = Math.PI * goc / 180; System.out.println("cos(" + goc +") = " + Math.cos(radian)); } }Kết quả
Ví dụ tính cos góc 45 độ. cos(45) = 0.7071067811865476Từ khóa » Hàm Lũy Thừa Trong Java
-
Phương Thức Pow() Trong Thư Viện Math Java - Freetuts
-
Thư Viện Toán Học Math Trong Java - Freetuts
-
Mũ Trong Java - Thánh Chiến 3D
-
Pow() Trong Java - 155 Bài Học Java Miễn Phí Hay Nhất
-
Tổng Hợp Tất Cả Các Hàm Toán Học Trong Java - Math Class - Deft Blog
-
Toán Tử ^ Làm Gì Trong Java? - HelpEx
-
Java: Hàm Toán Học (Math) | V1Study
-
Lớp Math Trong Java - KungFu Tech
-
Mũ Trong Java - VIETTINGAME.COM
-
Thư Viện Toán Học Từ Lớp Math Của Java
-
Hàm Pow Java
-
Mã Exponents Trong Java Là Gì?
-
Java Exponent (Hướng Dẫn Toàn Diện 2020) - All Tech Buzz