Menu
Coddy logo textTech

Schutzklauseln

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 38 von 59.

Guard-Klauseln sind bedingte Anweisungen am Anfang einer Methode, die ungültige Bedingungen prüfen und frühzeitig zurückkehren. Sie helfen, den Code sauberer und lesbarer zu machen, indem sie Randfälle zuerst behandeln.

Sehen wir uns eine Methode ohne Guard-Klauseln an:

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

Dieselbe Methode mit Guard-Klauseln:

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

Nach der Ausführung eines der Codes mit divide(10, 2) lautet das Ergebnis:

5

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode mit dem Namen validatePassword, die ein Argument annimmt:

  1. Ein String (password) zur Validierung

Die Methode sollte Guard-Klauseln verwenden, um das Passwort zu validieren und eine Nachrichtenzeichenkette basierend auf diesen Regeln zurückgeben:

  • Wenn password null ist: return "Password cannot be null"
  • Wenn password leer ist: return "Password cannot be empty"
  • Wenn die Länge von password weniger als 8 ist: return "Password must be at least 8 characters"
  • Wenn password Leerzeichen enthält: return "Password cannot contain spaces"
  • Wenn alle Überprüfungen bestanden sind: return "Valid password"

Spickzettel

Guard-Klauseln sind bedingte Anweisungen am Anfang einer Methode, die ungültige Bedingungen prüfen und frühzeitig zurückkehren, wodurch der Code sauberer und lesbarer wird.

Ohne Guard-Klauseln:

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

Mit Guard-Klauseln:

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

Probier es selbst

import java.util.Scanner;

public class Main {
    public static String validatePassword(String password) {
        // Schreibe deinen Code hier
    }
    
    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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf