14/08/2018, 13:28

Number trong Java

Thường thì, khi làm việc với Number, chúng ta sử dụng các kiểu dữ liệu gốc như byte, int, long, double, … Ví dụ: int i = 5000; float gpa = 13.65; byte mask = 0xaf; Tuy nhiên, khi mở rộng, chúng ta cũng gặp các tình huống mà chúng ta cần sử dụng các đối tượng thay cho các kiểu dữ ...

Thường thì, khi làm việc với Number, chúng ta sử dụng các kiểu dữ liệu gốc như byte, int, long, double, …

Ví dụ:

int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;

Tuy nhiên, khi mở rộng, chúng ta cũng gặp các tình huống mà chúng ta cần sử dụng các đối tượng thay cho các kiểu dữ liệu gốc. Để thực hiện điều này, Java cung cấp các lớp wrapper (lớp bọc) cho mỗi kiểu dữ liệu gốc.

Tất cả các lớp wrapper (Integer, Long, Byte, Double, Float, Short) là lớp phụ của lớp trừu tượng Number.

Lớp con của lớp Number

Sự bao bọc này được chăm sóc bởi bộ biên dịch, tiến trình này được gọi là boxing. Vì thế khi một kiểu dữ liệu gốc được sử dụng khi một đối tượng được yêu cầu, bộ biên dịch "đóng hộp" kiểu dữ liệu gốc trong lớp wrapper của nó. Tương tự, bộ biên dịch cũng "mở hộp" đối tượng thành một kiểu dữ liệu gốc. Number là một phần của java.lang package.

Dưới đây là ví dụ của box và unbox:

public class Test{

   public static void main(String args[]){
      Integer x = 5; // dong hop int thanh doi tuong Integer
      x =  x + 10;   // mo hop Integer thanh int
      System.out.println(x); 
   }
}

Nó sẽ cho kết quả sau:

15

Khi x được gán các giá trị integer, bộ biên dịch "đóng hộp" giá trị integer này bởi vì x là đối tượng integer. Sau đó, x được "mở hộp" để mà chúng có thể được cộng thêm các integer.

Các phương thức của lớp Number trong Java

Bảng dưới liệt kê các phương thức mà tất cả các lớp phụ của lớp Number thực thi:

STT Phương thức và miêu tả
1

xxxValue() trong Java

Biến đổi giá trị của đối tượng Number này thành kiểu dữ liệu xxx mà được trả về từ phương thức

2

compareTo() trong Java

So sánh đối tượng Number này với tham số

3

equals() trong Java

Kiểm tra có hay không đối tượng Number này là bằng với tham số

4

valueOf() trong Java

Trả về một đối tượng integer giữ giá trị gốc đã xác định

5

toString() trong Java

Trả về đối tượng String biểu diễn giá trị Integer đã xác định

6

parseInt() trong Java

Phương thức này được sử dụng để nhận kiểu dữ liệu gốc của một String cụ thể

7

abs() trong Java

Trả về giá trị tuyệt đối của tham số

8

ceil() trong Java

Trả về số integer nhỏ nhất mà lớn hơn hoặc bằng tham số. Giá trị trả về ở dạng double.

9

floor() trong Java

Trả về số integer lớn nhất mà nhỏ hơn hoặc bằng tham số. Giá trị trả về ở dạng double.

10

rint() trong Java

Làm tròn số, trả về giá trị integer gần nhất với giá trị tham số. Giá trị trả về ở dạng double.

11

round() trong Java

Trả về long hoặc int gần nhất, như kiểu dữ liệu được chỉ dẫn bởi phương thức, với tham số.

12

min() trong Java

Trả về số nhỏ nhất trong hai tham số

13

max() trong Java

Trả về số lớn nhất trong hai tham số

14

exp() trong Java

Hàm mũ cơ số e.

15

log() trong Java

Hàm logarit cơ số e

16

pow() trong Java

Trả về giá trị hàm mũ với cơ số là tham số đầu tiên và mũ là tham số thứ hai

17

sqrt() trong Java

Trả về căn bậc hai của tham số

18

sin() trong Java

Trả về sin của giá trị double đã cho.

19

cos() trong Java

Trả về cos của giá trị double đã cho.

20

tan() trong Java

Trả về tan của giá trị double đã cho.

21

asin() trong Java

Trả về arcsin của giá trị double đã cho.

22

acos() trong Java

Trả về arccos của giá trị double đã cho

23

atan() trong Java

Trả về arctan của giá trị double đã cho

24

atan2() trong Java

Biến đổi tọa độ (x, y) thành tọa độ cực (r, theta) và trả về theta.

25

toDegrees() trong Java

Biến đổi tham số thành giá trị độ đo góc

26

toRadians() trong Java

Biến đổi tham số thành radian.

27

random() trong Java

Trả về một số ngẫu nhiên

0