Menu
CoddyTech

守卫子句

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 38 课,共 59 课。

守卫子句是放在方法开头的条件语句,用于检查无效条件并提前返回。先处理边界情况,可以让代码更简洁、更易读。

我们来看看一个没有保护子句的方法:

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

使用保护子句的相同方法:

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

执行任意一段代码 divide(10, 2) 后,结果是:

5

challenge icon

挑战

简单

创建一个名为 validatePassword 的方法,它接受一个参数:

  1. 一个要验证的 String(password)

该方法应使用守卫子句验证密码,并根据以下规则返回一条消息字符串:

  • 如果 password 为 null:返回 "Password cannot be null"
  • 如果 password 为空:返回 "Password cannot be empty"
  • 如果 password 的长度小于 8:返回 "Password must be at least 8 characters"
  • 如果 password 包含空格:返回 "Password cannot contain spaces"
  • 如果所有检查都通过:返回 "Valid password"

亲手试试

import java.util.Scanner;

public class Main {
    public static String validatePassword(String password) {
        // 在这里编写你的代码
    }
    
    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 icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器