Cláusulas de Guarda
Parte da seção Lógica e Fluxo do Journey de Java da Coddy. Lição 38 de 59.
Cláusulas de guarda são instruções condicionais no início de um método que verificam condições inválidas e retornam antecipadamente. Elas ajudam a tornar o código mais limpo e legível ao lidar primeiro com casos extremos.
Vamos ver um método sem cláusulas de guarda:
public int divide(int num, int den) {
if (den != 0) {
if (num >= 0) {
return num / den;
} else {
return -1;
}
} else {
return -1;
}
}O mesmo método com cláusulas de guarda:
public int divide(int num, int den) {
if (den == 0) return -1;
if (num < 0) return -1;
return num / den;
}Após executar qualquer um dos códigos com divide(10, 2), o resultado é:
5
Desafio
FácilCrie um método chamado validatePassword que receba um argumento:
- Uma String (
password) para validar
O método deve usar cláusulas de guarda para validar a senha e retornar uma mensagem com base nestas regras:
- Se password for nulo: retorne "Password cannot be null"
- Se password estiver vazia: retorne "Password cannot be empty"
- Se o comprimento de password for menor que 8: retorne "Password must be at least 8 characters"
- Se password contiver espaços: retorne "Password cannot contain spaces"
- Se todas as verificações forem aprovadas: retorne "Valid password"
Experimente você mesmo
import java.util.Scanner;
public class Main {
public static String validatePassword(String password) {
// Escreva seu código aqui
}
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));
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Arrays Multidimensionais
Básicos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DResumo - Arrays 2DAdição e Subtração de MatrizesArrays EscalonadosArrays 3D e AlémPadrões Comuns de Arrays 2DResumo - Tudo Sobre Arrays2HashMap Parte 1
O que é um HashMap?Declarar um HashMapAcessando ValoresVerificar se a Chave ExisteModificando DicionáriosResumo - HashMap3HashMap Parte 2
Métodos do HashMapIterar com keySet()Iterar com entrySet()HashMap AninhadoResumo - Gerenciar ArmazémResumo - Operações do HashMap6Fluxo de Controle Avançado
Declarações RotuladasExpressão SwitchCorrespondência de PadrõesCláusulas de GuardaResumo - Fluxo de Controle9Projeto - Contador de Palavras Únicas
Entrada e Armazenamento de TextoProcessamento de PalavrasPratique por conta própria: Compilador de Java online