Trong bài viết này, chúng tôi sẽ đưa ra một cái nhìn tổng quan ngắn gọn về lớp Math trong Java. Hãy nói về các phương thức của lớp này và cách sử dụng chúng. Lớp Math nằm trong gói java.lang và cung cấp một tập hợp các phương thức tĩnh để thực hiện một số phép tính toán học khác nhau. Sau đây là các ví dụ về tính toán mà lớp Toán có thể hữu ích:
- Tính giá trị tuyệt đối (giá trị modulo)
- Tính giá trị của các hàm lượng giác (sin, cosin, v.v.)
- Độ cao ở nhiều mức độ khác nhau
- Chiết xuất rễ ở nhiều mức độ khác nhau
- Tạo số ngẫu nhiên
- Làm tròn
- Vân vân.
- cơ bụng đôi tĩnh (double a)
- float tĩnh abs(float a)
- int tĩnh abs(int a)
- cơ bụng dài tĩnh(dài a)
public static void main(String[] args) {
System.out.println(Math.abs(-1)); // 1
System.out.println(Math.abs(-21.8d)); // 21.8
System.out.println(Math.abs(4532L)); // 4532
System.out.println(Math.abs(5.341f)); // 5.341
}
Tính hàm lượng giác
Lớp Toán cho phép bạn tính các hàm lượng giác khác nhau - sin, cosin, tiếp tuyến, v.v. Bạn có thể tìm thấy danh sách đầy đủ các phương pháp trên trang web tài liệu chính thức . Dưới đây là danh sách các phương pháp này:- tội lỗi kép tĩnh (double a)
- cos kép tĩnh(double a)
- tĩnh đôi tan(double a)
- asin kép tĩnh (double a)
- acos kép tĩnh (double a)
- atan kép tĩnh(double a)
- tĩnh kép toDegrees(double angrad)
- tĩnh kép toRadians(angdeg kép)
public static void main(String[] args) {
System.out.println(Math.sin(Math.toRadians(0)));
System.out.println(Math.sin(Math.toRadians(30)));
System.out.println(Math.sin(Math.toRadians(90)));
System.out.println(Math.cos(Math.toRadians(0)));
System.out.println(Math.cos(Math.toRadians(30)));
System.out.println(Math.cos(Math.toRadians(90)));
}
Chương trình sẽ xuất ra:
0.0
0.49999999999999994
1.0
1.0
0.8660254037844387
6.123233995736766E-17
Điều này không hoàn toàn tương ứng với các bảng sin và cos, một phần là do sai sót khi chuyển đổi từ độ sang radian.
lũy thừa
Để nâng lũy thừa của một số, lớp Math cung cấp một phương thức p, có đặc điểm sau:static double pow(double a, double b)
Phương thức này tăng tham số `a` lên lũy thừa `b`. Ví dụ:
public static void main(String[] args) {
System.out.println(Math.pow(1,2)); // 1.0
System.out.println(Math.pow(2,2)); // 4.0
System.out.println(Math.pow(3,2)); // 9.0
System.out.println(Math.pow(4,2)); // 16.0
System.out.println(Math.pow(5,2)); // 25.0
System.out.println(Math.pow(1,3)); // 1.0
System.out.println(Math.pow(2,3)); // 8.0
System.out.println(Math.pow(3,3)); // 27.0
System.out.println(Math.pow(4,3)); // 64.0
System.out.println(Math.pow(5,3)); // 125.0
}
Chiết xuất gốc
Lớp Toán cung cấp các phương pháp lấy căn bậc hai và căn bậc ba. Các phương pháp sau đây chịu trách nhiệm cho thủ tục này:- sqrt đôi tĩnh(double a)
- cbrt đôi tĩnh(double a)
public static void main(String[] args) {
System.out.println(Math.sqrt(4)); // 2.0
System.out.println(Math.sqrt(9)); // 3.0
System.out.println(Math.sqrt(16)); // 4.0
System.out.println(Math.cbrt(8)); // 2.0
System.out.println(Math.cbrt(27)); // 3.0
System.out.println(Math.cbrt(125)); // 5.0
}
Tạo số ngẫu nhiên
Để tạo số ngẫu nhiên, lớp Math cung cấp phương thức ngẫu nhiên. Phương pháp này tạo ra một số thực dương ngẫu nhiên (gấp đôi) trong khoảng từ 0,0 đến 1,0. Chữ ký phương thức trông như thế này:public static double random()
Hãy xem xét các ví dụ:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(Math.random());
}
}
Sau khi thực hiện phương thức chính, thông tin sau được hiển thị trên bảng điều khiển:
0.37057465028778513
0.2516253742011597
0.9315649439611121
0.6346725713527239
0.7442959932755443
Với một chút thao tác, bạn có thể sử dụng phương thức ngẫu nhiên của lớp Toán để thu được các số nguyên ngẫu nhiên nằm trong một phạm vi nhất định. Dưới đây là ví dụ về hàm nhận hai đối số min và max và trả về một số nguyên ngẫu nhiên nằm trong phạm vi từ min (đã bao gồm) đến max (đã bao gồm):
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
Hãy viết một phương thức Main trong đó chúng ta sẽ kiểm tra phương thức RandomInARange:
public class MathExample {
public static void main(String[] args) {
// Карта, в которой мы будем хранить количество выпадений Howого-то числа
Map<Integer, Integer> map = new TreeMap<>();
// За 10000 операций
for (int i = 0; i < 10000; i++) {
// Сгенерируем рандомное число от -10 включительно до 10 включительно
final Integer randomNumber = randomInARange(-10, 10);
if (!map.containsKey(randomNumber)) {
// Если карта еще не содержит "выпавшего случайного числа"
// Положим его в карту с кол-вом выпадений = 1
map.put(randomNumber, 1);
} else {
// Иначе, увеличим количество выпадений данного числа на 1
map.put(randomNumber, map.get(randomNumber) + 1);
}
}
// Выведем на экран содержимое карты в формате ключ=[meaning]
for (Map.Entry<Integer, Integer> entry : map.entrySet()){
System.out.println(String.format("%d=[%d]", entry.getKey(), entry.getValue()));
}
}
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
}
Sau khi chạy phương thức chính, kết quả có thể trông như thế này:
-10=[482]
-9=[495]
-8=[472]
-7=[514]
-6=[457]
-5=[465]
-4=[486]
-3=[500]
-2=[490]
-1=[466]
0=[458]
1=[488]
2=[461]
3=[470]
4=[464]
5=[463]
6=[484]
7=[479]
8=[459]
9=[503]
10=[444]
Process finished with exit code 0
Làm tròn
Để làm tròn số trong Java, một trong những công cụ đó là các phương thức của lớp Math. Chính xác hơn là các phương pháp tròn, trần và sàn:- vòng dài tĩnh (double a)
- vòng int tĩnh (float a)
- sàn đôi tĩnh (đôi a)
- trần đôi tĩnh (double a)
public static void main(String[] args) {
System.out.println(Math.round(1.3)); // 1
System.out.println(Math.round(1.4)); // 1
System.out.println(Math.round(1.5)); // 2
System.out.println(Math.round(1.6)); // 2
System.out.println(Math.floor(1.3)); // 1.0
System.out.println(Math.floor(1.4)); // 1.0
System.out.println(Math.floor(1.5)); // 1.0
System.out.println(Math.floor(1.6)); // 1.0
System.out.println(Math.ceil(1.3)); // 2.0
System.out.println(Math.ceil(1.4)); // 2.0
System.out.println(Math.ceil(1.5)); // 2.0
System.out.println(Math.ceil(1.6)); // 2.0
}
Phần kết luận
Trong bài viết này, chúng ta đã có cái nhìn sơ lược về lớp Toán. Chúng tôi đã xem xét cách sử dụng lớp này bạn có thể:- Tính toán các giá trị modulo;
- Tính giá trị của hàm lượng giác;
- Nâng số lên lũy thừa;
- Trích xuất căn bậc hai và khối lập phương;
- Tạo số ngẫu nhiên;
- Số tròn.
GO TO FULL VERSION