Dominando o Fluxo: Estruturas de Controle em Java
Dominando o Fluxo: Estruturas de Controle em Java
Fala, dev! Se você está começando no ecossistema Java ou se preparando para os desafios dos bootcamps aqui na DIO, entender as Estruturas de Controle é o passo fundamental para transformar algoritmos simples em sistemas inteligentes. Elas são os "nervos" do seu código, decidindo quais caminhos a execução deve seguir.
Neste artigo, vamos explorar desde as tomadas de decisão até os laços de repetição que otimizam o seu desenvolvimento.
1. Estruturas Condicionais (Decisão)
As estruturas condicionais permitem que o programa execute blocos de código diferentes com base em uma condição booleana.
If / Else / Else If
É a base de tudo. Se a condição for verdadeira, o código entra no bloco.
int nota = 85;
if (nota >= 90) {
System.out.println("Desempenho Elite!");
} else if (nota >= 70) {
System.out.println("Aprovado.");
} else {
System.out.println("Reprovado.");
}
Switch Case
Ideal para quando você tem múltiplas opções fixas para uma mesma variável. No Java moderno (versões mais recentes), o switch ficou ainda mais potente com as Switch Expressions.
String plano = "PRO";
switch (plano) {
case "BASIC" -> System.out.println("Acesso limitado.");
case "PRO" -> System.out.println("Acesso completo.");
default -> System.out.println("Plano inválido.");
}
2. Estruturas de Repetição (Loops)
Repetir tarefas manualmente é coisa do passado. O Java nos oferece três formas principais de iterar dados.
While e Do-While
While e Do-While
O while verifica a condição antes de executar. Já o do-while garante que o código seja executado pelo menos uma vez antes da primeira verificação.
int contador = 1;
do {
System.out.println("Contagem: " + contador);
contador++;
} while (contador <= 5);
For e For-Each
O for é perfeito quando sabemos exatamente quantas vezes o código deve rodar. O for-each é a escolha "clean code" para percorrer arrays ou listas.
String[] tecnologias = {"Java", "Spring", "Ollama"};
for (String tech : tecnologias) {
System.out.println("Estudando: " + tech);
}
3. Controle de Fluxo: Break e Continue
Às vezes, precisamos de um controle mais fino dentro dos loops:
break: Interrompe e sai do laço imediatamente.continue: Pula a iteração atual e vai direto para a próxima.
Conclusão e Dica de Ouro
Entender a lógica por trás dessas estruturas é o que diferencia um "escritor de código" de um desenvolvedor que constrói soluções robustas. Ao aplicar essas estruturas, lembre-se sempre da legibilidade: códigos com muitos if aninhados podem se tornar difíceis de manter.
Dica para os desafios da DIO: Sempre teste as condições de borda (limites) nos seus laços de repetição para evitar loops infinitos ou erros de indexação!
Escrito por: Alexandro Andrade
Software Developer & AI Enthusiast



