ガード節
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つの引数を受け取るようにします:
- 検証するString(
password)
このメソッドではガード節を使用してpasswordを検証し、次のルールに基づいてメッセージ文字列を返します:
- passwordがnullの場合: "Password cannot be null"を返す
- passwordがemptyの場合: "Password cannot be empty"を返す
- passwordのlengthが8未満の場合: "Password must be at least 8 characters"を返す
- passwordがspacesをcontainsする場合: "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));
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Javaオンラインコンパイラ