1. Tổng quan
Trong ngôn ngữ lập trình Java có 2 kiểu dữ liệu chúng ta cần nắm và phân biệt: kiểu Nguyên thủy(Primitive) và kiểu Tham chiếu(Reference). Hiểu rõ 2 kiểu dữ liệu này giúp bạn sử dụng nó tốt hơn tùy vào trường hợp thực tế, giúp tối ưu bộ nhớ khi biến lưu trữ giá trị.
2. Các kiểu dữ liệu Nguyên thủy
Có 8 kiểu dữ liệu Nguyên thủy, tương ứng với kích thước bộ nhớ được phân bổ như sau:
Kiểu nguyên thủy | Size | Phạm vi giá trị của biến(min-max) | Giá trị mặc định | Ví dụ |
byte | 8 bits | –128 to 127 | 0 | byte b = 100; |
short | 16 bits | –32768 to 32767 | 0 | short s = 30_000; |
int | 32 bits | –2147483648 to 2147483647 | 0 | int i = 100_000_000; |
long | 64 bits | –9223372036854775808 to 9223372036854775807 | 0 | long l = 100_000_000_000_000; |
float | 32 bits | 2–149 to (2 – 2–23) · 2127 | 0.0 | float f = 1.456f; |
double | 64 bits | 4.9E-324 to 1.7976931348623157E308 | 0.0 | double d = 1.456789012345678; |
char | 16 bits | ‘\u0000’ to ‘\uffff’ (0 to 65535) | ‘\u0000’ | char c = ‘c’; |
boolean | 1 bit | true or false | false | boolean b = true; |
** Từ Java SE 7 trở lên, Java hỗ trợ kí tự gạch dưới(_) trong các chữ số, tính năng này giúp các con số dể đọc hơn vì dụ cho phần ngàn, phần triệu.
- Các kiểu Nguyên thủy được cấp phát trong bộ nhớ Stack .
- Các biến luôn có giá trị mặc định(như bảng trên) nếu không được gán để một giá trị cụ thể.
- Trường hợp, nếu biến được khái báo trong một method, chúng ta phải gán một giá trị trước khi có thể sử dụng nó.
** String là có phải là kiểu dữ liệu Nguyên thủy không?
Câu trả lời là Không, String không phải là kiểu dữ liệu Nguyên Thủy. String thường bị nhầm với kiểu dữ liệu thứ 9 của Java, tuy nhiên chỉ là kiểu tham chiếu đặc biệt, Java Virtual Machine chỉ đang hỗ trợ cho kiểu tham chiếu String khi chúng ta có thể gán trực tiếp ký tự cho tham chiếu String(Vd: String a = “abc”), chúng ta sẽ tìm hiểu rõ hơn trong bài về String và String Pool.
3. Tổng kết một số điểm chú ý
- Dữ liệu Nguyên thủy không có giá trị null, mà có giá trị mặc định khi nó được khai báo
- Tên biến và giá trị đều lưu trong bộ nhớ Stack của JVM
- Các kiểu byte, short, int và long được sử dụng cho các số nguyên thập phân.
- Các kiểu float và double được sử dụng cho các giá trị phân số thập phân.
- Biến float yêu cầu chữ cái f theo sau số để Java biết đó là một float. ví dụ: float f = 0.123f
- Java sử dụng mã Unicode cho các kí tự, kiểu char sẽ hiển thị theo mã Unicode
Để lại một phản hồi
Bạn phải đăng nhập để gửi phản hồi.