Skip to main content

Toán Tử Gán Trong Java - Gán Giá Trị Cho Biến! 📝

Chào mừng bạn đến với bài học về toán tử gán trong Java! Trong bài học này, chúng ta sẽ tìm hiểu về các toán tử dùng để gán giá trị cho biến và cách sử dụng chúng một cách hiệu quả.

💡 Fun Fact: Trong Java, toán tử gán = cũng có thể được sử dụng trong biểu thức, nhưng nên tránh sử dụng để code dễ đọc hơn.

1. Toán Tử Gán Cơ Bản ✨

Gán (=) 📌

int x = 5;
String name = "John";
boolean isActive = true;

Gán Kết Hợp (+=) ➕

int x = 5;
x += 3; // x = x + 3

Gán Kết Hợp (-=) ➖

int x = 5;
x -= 2; // x = x - 2

Gán Kết Hợp (*=) ✖️

int x = 5;
x *= 2; // x = x * 2

Gán Kết Hợp (/=) ➗

int x = 10;
x /= 2; // x = x / 2

Gán Kết Hợp (%=) 🔄

int x = 10;
x %= 3; // x = x % 3

2. Gán Cho Các Kiểu Dữ Liệu Khác Nhau 🎯

Gán Cho Kiểu Nguyên Thủy

int x = 5;
long y = x; // Tự động chuyển đổi
double z = x; // Tự động chuyển đổi

Gán Cho Kiểu Tham Chiếu

String str = "Hello";
Object obj = str; // Tự động chuyển đổi

Ép Kiểu

double d = 3.14;
int i = (int)d; // Ép kiểu từ double sang int

⚠️ Lưu ý: Khi ép kiểu, hãy cẩn thận với việc mất dữ liệu.

3. Gán Cho Mảng 📊

Gán Giá Trị Cho Mảng

int[] numbers = new int[5];
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;

Gán Mảng Mới

int[] oldArray = {1, 2, 3};
int[] newArray = oldArray; // Gán tham chiếu

4. Gán Cho Đối Tượng 👥

Gán Đối Tượng Mới

Person person = new Person("John", 30);

Gán Tham Chiếu

Person person1 = new Person("John", 30);
Person person2 = person1; // Gán tham chiếu

💡 Mẹo: Khi gán đối tượng, hãy nhớ rằng bạn đang gán tham chiếu, không phải bản sao của đối tượng.

5. Ví Dụ Thực Tế 🎯

Quản Lý Tài Khoản

public class Account {
private double balance;

public void deposit(double amount) {
balance += amount;
}

public void withdraw(double amount) {
balance -= amount;
}

public void applyInterest(double rate) {
balance *= (1 + rate);
}
}

Tính Toán Điểm Số

public class ScoreCalculator {
public static void main(String[] args) {
double score = 0.0;

// Cộng điểm
score += 10.0; // Điểm cơ bản
score += 5.0; // Điểm thưởng

// Trừ điểm
score -= 2.0; // Điểm phạt

// Nhân điểm
score *= 1.2; // Hệ số nhân

System.out.println("Điểm cuối cùng: " + score);
}
}

Quản Lý Danh Sách

public class ListManager {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();

// Thêm phần tử
list.add("Apple");
list.add("Banana");

// Cập nhật phần tử
list.set(0, "Orange");

// Xóa phần tử
list.remove(1);
}
}

6. Best Practices ✨

1. Sử Dụng Toán Tử Gán Kết Hợp

// Thay vì
x = x + 5;

// Sử dụng
x += 5;

2. Kiểm Tra Null

// Không nên
String str = null;
str += "Hello"; // NullPointerException

// Nên
String str = "";
str += "Hello";

3. Sử Dụng Final Khi Cần

// Không thể thay đổi giá trị
final int MAX_VALUE = 100;

4. Tránh Gán Tham Chiếu Không Cần Thiết

// Không nên
ArrayList<String> list1 = list2;

// Nên
ArrayList<String> list1 = new ArrayList<>(list2);

7. Lỗi Thường Gặp ❌

1. Gán Sai Kiểu

int x = 3.14; // Lỗi biên dịch

2. Gán Null Cho Kiểu Nguyên Thủy

int x = null; // Lỗi biên dịch

3. Gán Tham Chiếu Không Mong Muốn

Person p1 = new Person("John", 30);
Person p2 = p1; // p2 trỏ đến cùng đối tượng với p1
p2.setName("Jane"); // Ảnh hưởng đến cả p1

4. Gán Cho Mảng Không Khởi Tạo

int[] numbers;
numbers[0] = 1; // NullPointerException

💡 Lời khuyên: Hãy luôn cẩn thận khi gán giá trị cho biến, đặc biệt là với các kiểu dữ liệu tham chiếu. Đảm bảo bạn hiểu rõ về việc gán tham chiếu và gán giá trị.

Tiếp Theo 🎯

Trong các bài học tiếp theo, chúng ta sẽ:

  • Tìm hiểu về toán tử điều kiện
  • Học cách sử dụng toán tử bit
  • Thực hành với các ví dụ thực tế
  • Tìm hiểu về toán tử instanceof