- Khóa học Offline tại Hà Nội
- Khóa học Java Online tại Udemy
- Giới thiệu Java
- Java là gì?
- Lịch sử Java
- Tổng quan
- Cài đặt Java
- Cách thiết lập Path
- Chương trình Hello World
- Phân tích chương trình Hello World
- Cú pháp Java cơ bản
- JDK, JRE và JVM
- Biến trong Java
- Kiểu dữ liệu
- Toán tử
- Các kiểu vòng lặp
- Lệnh if, switch
- Đối tượng Number
- Đối tượng Character
- Khái niệm OOP
- Lớp và Đối tượng
- Phương thức
- Nạp chồng phương thức (Overloading)
- Constructor
- Từ khóa static
- Từ khóa this
- Tính kế thừa (IS-A)
- Quan hệ (HAS-A)
- Ghi đè phương thức (Overriding)
- Kiểu trả về Covariant
- Từ khóa super
- Từ khóa final
- Tính đa hình
- Dynamic Binding
- Toán tử instanceof
- Tính trừu tượng
- Lớp abstract
- Interface
- Lớp abstract vs Interface
- Java Package
- Các kiểu Modifier
- Non-Access Modifier
- Access Modifier
- Tính bao đóng
- Lớp Object
- Nhân bản đối tượng
- Mảng (Array)
- Lớp Wrapper
- Gọi bởi giá trị
- Từ khóa strictfp
- Date & Time
- Regular Expression
- File và I/O
- ByteArrayInputStream
- DataInputStream
- ByteArrayOutputStream
- DataOutputStream
- Lớp File
- Lớp FileReader
- Lớp FileWriter
- Đối tượng String
- Immutable String
- So sánh chuỗi
- Nối chuỗi
- Chuỗi con
- Phương thức của lớp String
- Lớp StringBuffer
- Lớp StringBuilder
- String vs StringBuffer
- StringBuilder vs StringBuffer
- Phương thức toString()
- Lớp StringTokenizer
- Exception là gì
- Khối try-catch
- Khối finally
- Từ khóa throw
- Từ khóa throws
- ExceptionHandling vs MethodOverriding
- Custom Exception
- Cấu trúc dữ liệu
- Enumeration Interface
- Lớp BitSet
- Lớp Vector
- Lớp Stack
- Lớp Dictionary
- Lớp Properties
- Java Collection
- Collection Interface
- List Interface
- Set Interface
- SortedSet Interface
- MapEntry Interface
- Lớp ArrayList
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ữ 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.
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 |
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 |
So sánh đối tượng Number này với tham số |
3 |
Kiểm tra có hay không đối tượng Number này là bằng với tham số |
4 |
Trả về một đối tượng integer giữ giá trị gốc đã xác định |
5 |
Trả về đối tượng String biểu diễn giá trị Integer đã xác định |
6 |
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 |
Trả về giá trị tuyệt đối của tham số |
8 |
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 |
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 |
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 |
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 |
Trả về số nhỏ nhất trong hai tham số |
13 |
Trả về số lớn nhất trong hai tham số |
14 |
Hàm mũ cơ số e. |
15 |
Hàm logarit cơ số e |
16 |
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 |
Trả về căn bậc hai của tham số |
18 |
Trả về sin của giá trị double đã cho. |
19 |
Trả về cos của giá trị double đã cho. |
20 |
Trả về tan của giá trị double đã cho. |
21 |
Trả về arcsin của giá trị double đã cho. |
22 |
Trả về arccos của giá trị double đã cho |
23 |
Trả về arctan của giá trị double đã cho |
24 |
Biến đổi tọa độ (x, y) thành tọa độ cực (r, theta) và trả về theta. |
25 |
Biến đổi tham số thành giá trị độ đo góc |
26 |
Biến đổi tham số thành radian. |
27 |
Trả về một số ngẫu nhiên |
Bài học Java phổ biến tại vietjack.com: