Clausole guardia
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 38 di 59.
Le clausole di guardia sono istruzioni condizionali all’inizio di un metodo che verificano la presenza di condizioni non valide e terminano anticipatamente. Aiutano a rendere il codice più pulito e leggibile gestendo prima i casi limite.
Vediamo un metodo senza clausole di guardia:
public int divide(int num, int den) {
if (den != 0) {
if (num >= 0) {
return num / den;
} else {
return -1;
}
} else {
return -1;
}
}Lo stesso metodo con clausole di guardia:
public int divide(int num, int den) {
if (den == 0) return -1;
if (num < 0) return -1;
return num / den;
}Dopo aver eseguito uno dei due codici con divide(10, 2), il risultato è:
5
Sfida
FacileCrea un metodo chiamato validatePassword che accetta un argomento:
- Una String (
password) da convalidare
Il metodo dovrebbe usare clausole di guardia per convalidare la password e restituire una stringa di messaggio in base a queste regole:
- Se password è null: restituisci "Password cannot be null"
- Se password è vuota: restituisci "Password cannot be empty"
- Se la lunghezza di password è minore di 8: restituisci "Password must be at least 8 characters"
- Se password contiene spazi: restituisci "Password cannot contain spaces"
- Se tutti i controlli vengono superati: restituisci "Valid password"
Provalo tu
import java.util.Scanner;
public class Main {
public static String validatePassword(String password) {
// Scrivi qui il tuo codice
}
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));
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online