Java - câu lệnh If-else: Hướng dẫn cho người mới bắt đầu

Xin chào các bạn, những nhà lập trình Java tương lai! Hôm nay, chúng ta sẽ khám phá một trong những khái niệm cơ bản nhất trong lập trình: câu lệnh if-else. Là một giáo viên khoa học máy tính thân thiện, tôi đang ở đây để hướng dẫn các bạn trong cuộc hành trình thú vị này. Vậy hãy lấy ly đồ uống yêu thích của bạn, thoải mái đi, và hãy cùng nhau bắt đầu cuộc phiêu lưu lập trình này!

Java - If-else

Câu lệnh If-else là gì?

Hãy tưởng tượng bạn là một robot (hãy kiên nhẫn với tôi ở đây) và bạn được cung cấp một bộ hướng dẫn để làm theo. Đôi khi, bạn cần phải đưa ra quyết định dựa trên một số điều kiện cụ thể. Đó chính là điều gì câu lệnh if-else làm trong lập trình! Nó cho phép mã của chúng ta đưa ra quyết định và thực thi các khối mã khác nhau tùy thuộc vào điều kiện là đúng hay sai.

Cấu trúc cơ bản

Hãy bắt đầu với cấu trúc cơ bản của câu lệnh if-else trong Java:

if (điều_kiện) {
// Mã để thực thi nếu điều kiện là đúng
} else {
// Mã để thực thi nếu điều kiện là sai
}

Rất đơn giản, phải không? Bây giờ, hãy phân tích nó:

  1. Từ khóa if bắt đầu câu lệnh.
  2. Trong dấu ngoặc (), chúng ta đặt điều kiện của mình.
  3. Nếu điều kiện là đúng, mã trong cặp ngoặc móc đầu tiên {} sẽ được thực thi.
  4. Nếu điều kiện là sai, mã trong khối else sẽ được thực thi.

Câu lệnh If-else đầu tiên của bạn

Hãy viết câu lệnh if-else đầu tiên cùng nhau. Chúng ta sẽ tạo một chương trình kiểm tra xem một số có là dương hay âm.

public class PositiveNegativeChecker {
public static void main(String[] args) {
int number = 10;

if (number > 0) {
System.out.println("Số này là dương!");
} else {
System.out.println("Số này là âm hoặc không!");
}
}
}

Khi bạn chạy chương trình này, nó sẽ xuất ra: "Số này là dương!"

Hãy xem lại điều gì đang diễn ra ở đây:

  1. Chúng ta khai báo một biến int có tên là number và đặt nó bằng 10.
  2. Điều kiện number > 0 kiểm tra xem số có lớn hơn không hay không.
  3. Vì 10 thực sự lớn hơn 0, điều kiện là đúng, và câu lệnh in đầu tiên được thực thi.

Hãy thử thay đổi giá trị của number thành -5 và xem điều gì sẽ xảy ra!

Câu lệnh If-else-if

Đôi khi, chúng ta cần kiểm tra nhiều điều kiện. Đó là nơi câu lệnh if-else-if đến từng tay. Nó giống như phiên bản phức tạp hơn của robot từ trước - bây giờ nó có thể xử lý nhiều tình huống khác nhau!

Dưới đây là cấu trúc:

if (điều_kiện1) {
// Mã để thực thi nếu điều_kiện1 là đúng
} else if (điều_kiện2) {
// Mã để thực thi nếu điều_kiện2 là đúng
} else {
// Mã để thực thi nếu tất cả các điều kiện đều là sai
}

Hãy xem nó hoạt động với một chương trình phân loại điểm số:

public class GradeClassifier {
public static void main(String[] args) {
int score = 85;

if (score >= 90) {
System.out.println("A - Tuyệt vời!");
} else if (score >= 80) {
System.out.println("B - Đạt!");
} else if (score >= 70) {
System.out.println("C - Không tồi!");
} else if (score >= 60) {
System.out.println("D - Bạn có thể làm tốt hơn!");
} else {
System.out.println("F - Hãy đọc sách thêm!");
}
}
}

Chạy chương trình này sẽ xuất ra: "B - Đạt!"

Dưới đây là điều gì đang diễn ra:

  1. Chúng ta bắt đầu với score là 85.
  2. Chương trình kiểm tra từng điều kiện theo thứ tự.
  3. Khi nó đến score >= 80, điều kiện này là đúng, vì vậy nó thực thi khối đó và ngừng kiểm tra các điều kiện tiếp theo.

Câu lệnh If-else lồng nhau

Đôi khi, chúng ta cần đưa ra quyết định bên trong quyết định. Đó là nơi câu lệnh if-else lồng nhau đến từng tay. Nó giống như những cuốn sách chọn đường của riêng bạn, nơi mỗi lựa chọn dẫn đến thêm nhiều lựa chọn!

Dưới đây là một ví dụ đơn giản:

public class WeatherAdvisor {
public static void main(String[] args) {
boolean isRaining = true;
boolean isWindy = false;

if (isRaining) {
if (isWindy) {
System.out.println("Đang mưa và gió. Hãy mang theo chiếc ô!");
} else {
System.out.println("Đang mưa. Đừng quên chiếc ô của bạn!");
}
} else {
if (isWindy) {
System.out.println("Đang gió. Có thể mặc áo khoác nhẹ?");
} else {
System.out.println("Thời tiết đẹp! Chúc bạn có một ngày tốt lành!");
}
}
}
}

Chương trình này sẽ xuất ra: "Đang mưa. Đừng quên chiếc ô của bạn!"

Hãy phân tích nó:

  1. Chúng ta có hai biến boolean: isRainingisWindy.
  2. Câu lệnh if-else ngoài kiểm tra xem có mưa hay không.
  3. isRaining là đúng, chúng ta vào khối đầu tiên.
  4. Trong khối này, chúng ta có một câu lệnh if-else khác kiểm tra xem có gió hay không.
  5. isWindy là sai, chúng ta thực thi phần else của câu lệnh if-else trong khối.

Các thực hành và mẹo tốt

  1. Keep it simple: Nếu câu lệnh if-else của bạn quá phức tạp, hãy cân nhắc chia chúng thành các phương thức riêng hoặc sử dụng câu lệnh switch.
  2. Use meaningful variable names: Thay vì boolean b = true;, hãy sử dụng boolean isRaining = true;. Điều này làm cho mã của bạn dễ đọc hơn!
  3. Be careful with equality checks: Sử dụng == để so sánh các kiểu tham số, và .equals() cho các đối tượng.
  4. Watch out for common mistakes: Đảm bảo rằng các điều kiện của bạn là chính xác. Ví dụ, if (x = 5) gán 5 cho x, trong khi if (x == 5) kiểm tra xem x có bằng 5 hay không.
  5. Indentation is your friend: Định dạng chính xác làm cho mã của bạn dễ đọc và hiểu hơn.

Kết luận

Chúc mừng! Bạn vừa bước đi đầu tiên vào thế giới quyết định trong Java. Câu lệnh if-else là một công cụ mạnh mẽ mà bạn sẽ sử dụng trong hầu hết các chương trình mà bạn viết. Nhớ rằng, lập trình là một thứ cần phải luyện tập, vì vậy đừng sợ thử nghiệm với các điều kiện và câu lệnh if-else lồng nhau khác nhau.

Trong bài học tiếp theo, chúng ta sẽ khám phá các cấu trúc kiểm soát phức tạp hơn và đánh giá sâu hơn vào thế giới thú vị của Java. Đến khi đó, hãy tiếp tục lập trình, duy trì sự thú vị và nhớ rằng - trong thế giới lập trình, mỗi lỗi chỉ là cơ hội để học được một điều mới!

Chúc bạn mãi mãi có niềm vui trong việc lập trình, các nhà lập trình Java tương lai! ??‍??‍?

Credits: Image by storyset