Menu
CoddyTech

Mệnh đề bảo vệ

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 38 trên 59.

Guard clause là các câu lệnh điều kiện ở đầu một phương thức, dùng để kiểm tra các điều kiện không hợp lệ và trả về sớm. Chúng giúp code gọn gàng, dễ đọc hơn bằng cách xử lý các trường hợp biên trước.

Hãy xem một phương thức không có mệnh đề bảo vệ:

public int divide(int num, int den) {
   if (den != 0) {
       if (num >= 0) {
           return num / den;
       } else {
           return -1;
       }
   } else {
       return -1;
   }
}

Cùng phương thức đó với các mệnh đề bảo vệ:

public int divide(int num, int den) {
   if (den == 0) return -1;
   if (num < 0) return -1;
   return num / den;
}

Sau khi chạy một trong hai đoạn code với divide(10, 2), kết quả là:

5

challenge icon

Thử thách

Dễ

Tạo một phương thức tên là validatePassword nhận một đối số:

  1. Một chuỗi (password) cần xác thực

Phương thức này nên dùng các mệnh đề bảo vệ để xác thực mật khẩu và trả về một chuỗi thông báo dựa trên các quy tắc sau:

  • Nếu password là null: trả về "Password cannot be null"
  • Nếu password trống: trả về "Password cannot be empty"
  • Nếu độ dài password nhỏ hơn 8: trả về "Password must be at least 8 characters"
  • Nếu password có chứa khoảng trắng: trả về "Password cannot contain spaces"
  • Nếu tất cả các bước kiểm tra đều đạt: trả về "Valid password"

Tự làm thử

import java.util.Scanner;

public class Main {
    public static String validatePassword(String password) {
        // Viết code của bạn ở đây
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String password = scanner.nextLine();
        if (password.equals("null")) {
            password = null;
        }
        System.out.println(validatePassword(password));
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online