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
Aufgabe
EinfachErstellen Sie eine Methode mit dem Namen validatePassword, die ein Argument annimmt:
- 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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung