Bài 2.2. Các kiểu dữ liệu trong Java
Nội dung bài học
- Các kiểu dữ liệu trong Java
- Các đặc trưng
- Các lớp bao
- Mục đích sử dụng
- Lấy giá trị cực đại của kiểu
- Lấy kích thước của kiểu
Các kiểu dữ liệu trong Java
- Java là một ngôn ngữ mạnh về kiểu, mọi thành phần đều có một kiểu cụ thể.
- Ta coi các dữ liệu như là các tài nguyên đất, nước thì kiểu dữ liệu được coi như vật chứa các tài nguyên đó.
- Mỗi kiểu có kích thước khác nhau -> sức chứa khác nhau, chứa được các loại dữ liệu khác nhau.
- Các loại dữ liệu lưu trữ trên máy tính phổ biến như: văn bản, hình ảnh, âm thanh…
- Kiểu dữ liệu trong Java chia làm hai nhóm chính:
- Nguyên thủy.
- Tham chiếu.

- Là các kiểu nền tảng của Java chia thành hai nhóm:
- Các kiểu số.
- Kiểu boolean.
- Kiểu số chia làm hai loại:
- Các số nguyên: char, byte, short, int, long.
- Các số thực: float, double.
- Phạm vi phần này ta chỉ quan tâm tới các kiểu nguyên thủy. Các kiểu tham chiếu ta sẽ tìm hiểu ở phần sau khóa học.
- Có tổng cộng 8 kiểu nguyên thủy trong Java.
Các đặc trưng
- Kiểu nguyên thủy là kiểu dữ liệu nhỏ nhất trong Java, không thể chia nhỏ hơn nữa.
- Các kiểu này có kích thước không đổi trong mọi chương trình và mọi hệ điều hành.
- Các giá trị của kiểu nguyên thủy không chia sẻ chung trạng thái với các kiểu nguyên thủy khác.
- Mỗi kiểu nguyên thủy có một lớp bao tương ứng của nó.
- Lớp bao được sử dụng nhằm chuyển đổi giá trị kiểu nguyên thủy sang đối tượng tương ứng khi cần thực hiện những thao tác hướng đối tượng.
Các lớp bao
- Sau đây là danh sách các lớp bao trong Java:
| Kiểu nguyên thủy | Lớp bao tương ứng |
| char | Character |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| boolean | Boolean |
Mục đích sử dụng
- Thông số cơ bản về các kiểu nguyên thủy trong Java:
| Tên kiểu | Độ lớn(bit) | Khoảng lưu trữ | Ví dụ |
| byte | 8 | -128 đến 127 | 100, -55 |
| char | 16 | Các kí tự UTF-16 từ ‘\u0000’ tới ‘\ufff’ | ‘a’, ‘A’, ‘4’, ‘*’ |
| short | 16 | -32768 đến 32767 | 32760, -3700 |
| int | 32 | -2147483648 tới 2147483647 | 2147480000 |
| long | 64 | -9223372036854775808 đến 9223372036854775807 | 9999999999999 |
| float | 32 | 1.4E-45 đến 3.4028235E38 | 3.14f |
| double | 64 | 4.9E-324 đến 1.7976931348623157E308 | 3.1415926 |
| boolean | true hoặc false | true |
- Sử dụng kiểu char để lưu trữ một kí tự đơn.
- Sử dụng kiểu boolean để lưu trữ trạng thái true/false hoặc đúng/sai.
- Sử dụng kiểu số nguyên short, byte, int, long để lưu các số nguyên âm hoặc dương.
- Sử dụng kiểu long để lưu trữ một con số nếu kiểu int không chứa nổi số đó.
- Sử dụng kiểu float và double để lưu trữ số thực.
- Kiểu float có độ chính xác đến 6 hoặc 7 con số sau phần lẻ thập phân.
- Nếu muốn độ chính xác gấp đôi, lên 14-15 chữ số phần lẻ thập phân ta sử dụng kiểu double.
- Các giá trị kiểu float có thêm hậu tố f ở cuối. Ví dụ 3.14f là giá trị kiểu float.
- Các giá trị kiểu double không có hậu tố hoặc sử dụng hậu tố d. Ví dụ 3.14 hoặc 3.14d là giá trị của kiểu số thực.
- Khi không đòi hỏi độ chính xác lớn hơn 6 chữ số, sử dụng kiểu float. Nếu cần độ chính xác cao ta sử dụng kiểu double.
- Kiểu float và double có thêm các giá trị NaN, NEGATIVE_INFINITY, POSITIVE_INFINITY.
Lấy giá trị cực đại của kiểu
- Ta có thể sử dụng hằng số MIN_VALUE, MAX_VALUE để lấy giá trị tối thiểu và tối đa mà một kiểu có thể chứa.
- Lưu ý cú pháp lấy giá trị cực đại cực tiểu này phải sử dụng lớp bao để thực hiện.
| Kiểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
| Byte | Byte.MIN_VALUE | Byte.MAX_VALUE |
| Short | Short.MIN_VALUE | Short.MAX_VALUE |
| Int | Integer.MIN_VALUE | Integer.MAX_VALUE |
| Long | Long.MIN_VALUE | Long.MAX_VALUE |
| Float | Float.MIN_VALUE | Float.MAX_VALUE |
| Double | Double.MIN_VALUE | Double.MAX_VALUE |
| Char | Character.MIN_VALUE | Character.MAX_VALUE |
- Code mẫu:
public class Lesson22 {
public static void main(String[] args) {
System.out.println("Giá trị tối đa kiểu int: " + Integer.MAX_VALUE);
System.out.println("Giá trị tối thiểu kiểu int: " + Integer.MIN_VALUE);
System.out.println("Giá trị tối đa kiểu short: " + Short.MAX_VALUE);
System.out.println("Giá trị tối thiểu kiểu short: " + Short.MIN_VALUE);
System.out.println("Giá trị tối đa kiểu byte: " + Byte.MAX_VALUE);
System.out.println("Giá trị tối thiểu kiểu byte: " + Byte.MIN_VALUE);
System.out.println("Giá trị tối đa kiểu long: " + Long.MAX_VALUE);
System.out.println("Giá trị tối thiểu kiểu long: " + Long.MIN_VALUE);
System.out.println("Giá trị tối đa kiểu float: " + Float.MAX_VALUE);
System.out.println("Giá trị tối thiểu kiểu float: " + Float.MIN_VALUE);
System.out.println("Giá trị tối đa kiểu double: " + Double.MAX_VALUE);
System.out.println("Giá trị tối thiểu kiểu double: " + Double.MIN_VALUE);
}
}
Giá trị tối đa kiểu int: 2147483647
Giá trị tối thiểu kiểu int: -2147483648
Giá trị tối đa kiểu short: 32767
Giá trị tối thiểu kiểu short: -32768
Giá trị tối đa kiểu byte: 127
Giá trị tối thiểu kiểu byte: -128
Giá trị tối đa kiểu long: 9223372036854775807
Giá trị tối thiểu kiểu long: -9223372036854775808
Giá trị tối đa kiểu float: 3.4028235E38
Giá trị tối thiểu kiểu float: 1.4E-45
Giá trị tối đa kiểu double: 1.7976931348623157E308
Giá trị tối thiểu kiểu double: 4.9E-324
Lấy kích thước của kiểu
- Để kiểm tra kích thước của một kiểu dữ liệu, ta sử dụng cú pháp: Type.SIZE.
- Kết quả sẽ cho ta giá trị số nguyên thể hiện kích thước của kiểu dữ liệu đang xét tính theo số bit.
- Ví dụ:
- Byte.SIZE: 8.
- Short.SIZE: 16.
- Integer.SIZE: 32.
- Long.SIZE: 64.
- Float.SIZE: 32.
- Double.SIZE: 64.
- Character.SIZE: 16.
- Code mẫu:
public class Lesson22 {
public static void main(String[] args) {
System.out.println("Kích thước của kiểu short: " + Short.SIZE);
System.out.println("Kích thước của kiểu int: " + Integer.SIZE);
System.out.println("Kích thước của kiểu long: " + Long.SIZE);
System.out.println("Kích thước của kiểu float: " + Float.SIZE);
System.out.println("Kích thước của kiểu double: " + Double.SIZE);
}
}
Kích thước của kiểu short: 16
Kích thước của kiểu int: 32
Kích thước của kiểu long: 64
Kích thước của kiểu float: 32
Kích thước của kiểu double: 64
