Menu
Coddy logo textTech

ガード節

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つの引数を受け取るようにします:

  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));
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: Javaオンラインコンパイラ