Kiểu Dữ Liệu Nguyên Thủy Trong Java - Nền Tảng Cơ Bản! 🎯
Chào mừng bạn đến với bài học về kiểu dữ liệu nguyên thủy trong Java! Trong bài học này, chúng ta sẽ tìm hiểu về 8 kiểu dữ liệu cơ bản mà Java cung cấp.
💡 Fun Fact: Java có 8 kiểu dữ liệu nguyên thủy, mỗi kiểu có kích thước và phạm vi giá trị riêng, giúp tối ưu bộ nhớ và hiệu suất chương trình.
1. Kiểu Số Nguyên 🔢
byte 📦
- Kích thước: 8-bit
- Giá trị: -128 đến 127
- Mặc định: 0
- Ví dụ:
byte age = 25;
byte temperature = -5;
⚠️ Lưu ý:
byte
thường được sử dụng khi cần tiết kiệm bộ nhớ cho các giá trị nhỏ.
short 📏
- Kích thước: 16-bit
- Giá trị: -32,768 đến 32,767
- Mặc định: 0
- Ví dụ:
short year = 2024;
short items = 1000;
int 🔢
- Kích thước: 32-bit
- Giá trị: -2,147,483,648 đến 2,147,483,647
- Mặc định: 0
- Ví dụ:
int population = 1000000;
int salary = 50000;
💡 Mẹo:
int
là kiểu dữ liệu được sử dụng phổ biến nhất cho số nguyên trong Java.
long 📈
- Kích thước: 64-bit
- Giá trị: -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807
- Mặc định: 0L
- Ví dụ:
long worldPopulation = 7800000000L;
long distance = 150000000000L;
2. Kiểu Số Thực 🔢
float 🌊
- Kích thước: 32-bit
- Độ chính xác: 6-7 chữ số thập phân
- Mặc định: 0.0f
- Ví dụ:
float pi = 3.14159f;
float temperature = 98.6f;
double 🌊
- Kích thước: 64-bit
- Độ chính xác: 15 chữ số thập phân
- Mặc định: 0.0d
- Ví dụ:
double pi = 3.14159265359;
double gravity = 9.81;
💡 Mẹo:
double
được sử dụng phổ biến hơnfloat
vì có độ chính xác cao hơn.
3. Kiểu Ký Tự 🔤
char 📝
- Kích thước: 16-bit
- Lưu trữ một ký tự Unicode
- Mặc định: '\u0000'
- Ví dụ:
char grade = 'A';
char symbol = '$';
char unicode = '\u0041'; // 'A' trong Unicode
4. Kiểu Logic ⚖️
boolean ✅
- Kích thước: 1-bit
- Giá trị: true hoặc false
- Mặc định: false
- Ví dụ:
boolean isActive = true;
boolean hasPermission = false;
5. Chuyển Đổi Kiểu Dữ Liệu 🔄
Tự Động Chuyển Đổi (Widening)
int number = 100;
long bigNumber = number; // Tự động chuyển đổi từ int sang long
Ép Kiểu (Narrowing)
double pi = 3.14159;
int roundedPi = (int)pi; // Ép kiểu từ double sang int
⚠️ Cảnh báo: Ép kiểu có thể dẫn đến mất dữ liệu, hãy cẩn thận khi sử dụng!
6. Best Practices ✨
1. Chọn Kiểu Dữ Liệu Phù Hợp
- Sử dụng
int
cho hầu hết các trường hợp số nguyên - Sử dụng
double
cho hầu hết các trường hợp số thực - Sử dụng
long
cho các số lớn - Sử dụng
byte
hoặcshort
khi cần tiết kiệm bộ nhớ
2. Xử Lý Số Thực
- Cẩn thận với độ chính xác của số thực
- Sử dụng
BigDecimal
cho các tính toán tài chính - Tránh so sánh trực tiếp số thực
3. Ký Tự Unicode
- Sử dụng Unicode cho các ký tự đặc biệt
- Cẩn thận với encoding khi làm việc với file
4. Kiểu Boolean
- Sử dụng tên biến có ý nghĩa rõ ràng
- Tránh so sánh boolean với true/false
7. Ví Dụ Thực Tế 🎯
Tính Toán Đơn Giản
public class Calculator {
public static void main(String[] args) {
int a = 10;
int b = 5;
// Các phép tính cơ bản
int sum = a + b;
int difference = a - b;
int product = a * b;
double quotient = (double)a / b;
System.out.println("Tổng: " + sum);
System.out.println("Hiệu: " + difference);
System.out.println("Tích: " + product);
System.out.println("Thương: " + quotient);
}
}
Xử Lý Ký Tự
public class CharacterDemo {
public static void main(String[] args) {
char letter = 'A';
char number = '5';
char symbol = '@';
// Kiểm tra loại ký tự
System.out.println(Character.isLetter(letter)); // true
System.out.println(Character.isDigit(number)); // true
System.out.println(Character.isLetterOrDigit(symbol)); // false
}
}
Kiểm Tra Điều Kiện
public class BooleanDemo {
public static void main(String[] args) {
int age = 25;
boolean isAdult = age >= 18;
boolean hasLicense = true;
if (isAdult && hasLicense) {
System.out.println("Có thể lái xe");
} else {
System.out.println("Không thể lái xe");
}
}
}
💡 Lời khuyên: Hãy thực hành với các kiểu dữ liệu khác nhau và hiểu rõ phạm vi giá trị của chúng để tránh các lỗi không mong muốn.
Tiếp Theo 🎯
Trong bài học tiếp theo, chúng ta sẽ:
- Tìm hiểu về kiểu dữ liệu tham chiếu (Reference Types)
- Học cách sử dụng các lớp wrapper
- Thực hành với các ví dụ thực tế
- Tìm hiểu về boxing và unboxing