ガード節
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
チャレンジ
簡単validatePassword という名前のメソッドを作成してください。このメソッドは引数を1つ受け取ります:
- 検証する文字列 (
password)
このメソッドは、ガード節を使用してパスワードを検証し、以下のルールに基づいてメッセージ文字列を返す必要があります:
- パスワードが null の場合: "Password cannot be null" を返します
- パスワードが空の場合: "Password cannot be empty" を返します
- パスワードの長さが8文字未満の場合: "Password must be at least 8 characters" を返します
- パスワードにスペースが含まれている場合: "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));
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。