Estruturas Condicionais
>> Inicializando sistema de decisão...
>> Carregando árvores lógicas...
>> Estabelecendo caminhos de execução...
Visão Geral
As estruturas condicionais são como os checkpoints da Matrix - elas determinam quais caminhos seu código pode seguir.
Estruturas Básicas
1. if-else
if (condicao) {
// código executado se verdadeiro
} else {
// código executado se falso
}
Exemplo Prático
int securityLevel = 5;
if (securityLevel >= 4) {
System.out.println("Acesso concedido ao mainframe");
} else {
System.out.println("Acesso negado");
}
2. else-if
if (condicao1) {
// código para condição 1
} else if (condicao2) {
// código para condição 2
} else {
// código padrão
}
Exemplo Prático
int threatLevel = 3;
if (threatLevel == 1) {
System.out.println("Alerta Verde");
} else if (threatLevel == 2) {
System.out.println("Alerta Amarelo");
} else {
System.out.println("Alerta Vermelho");
}
3. Operador Ternário
resultado = (condicao) ? valorSeVerdadeiro : valorSeFalso;
Exemplo Prático
int energia = 50;
String status = (energia > 20) ? "Online" : "Offline";
Operadores de Comparação
Operador | Descrição |
---|---|
| Igual a |
| Diferente de |
| Maior que |
| Menor que |
| Maior ou igual |
| Menor ou igual |
Operadores Lógicos
Operador | Descrição |
---|---|
| AND lógico |
| OR lógico |
| NOT lógico |
Boas Práticas
Clareza nas Condições
// Ruim if (x == 1 && y == 2 || z == 3 && !w) { } // Bom boolean isValidX = (x == 1); boolean isValidY = (y == 2); boolean isValidZ = (z == 3 && !w); if (isValidX && isValidY || isValidZ) { }Evite Aninhamento Excessivo
// Evite if (a) { if (b) { if (c) { // código } } } // Prefira if (!a || !b || !c) return; // códigoUse Chaves Sempre
// Evite if (condicao) comando; // Prefira if (condicao) { comando; }
Padrões Avançados
Switch Expression (Java 14+)
String mensagem = switch (nivelAcesso) {
case 1 -> "Acesso Básico";
case 2 -> "Acesso Intermediário";
case 3 -> "Acesso Total";
default -> "Sem Acesso";
};
Pattern Matching (Preview)
if (obj instanceof String s && s.length() > 5) {
System.out.println("String longa: " + s);
}
Exercícios Práticos
Sistema de Autenticação
public boolean verificarAcesso(String usuario, int nivel) { if (usuario == null || usuario.isEmpty()) { return false; } return nivel >= 3 && usuario.startsWith("ADMIN_"); }Validador de Status
public String verificarStatus(int memoria, int cpu) { if (memoria < 10 || cpu > 90) { return "CRÍTICO"; } else if (memoria < 30 || cpu > 70) { return "ALERTA"; } return "NORMAL"; }
Próximos Passos
Explore estruturas de repetição em Loops
Aprenda sobre expressões switch em Switch Expressions
Descubra pattern matching em Pattern Matching
26 June 2025