Laços de Repetição: For, While e Do-While no Desenvolvimento Java
Introdução
Laços de repetição são componentes fundamentais em programação e permitem que blocos de código sejam executados repetidamente com base em condições específicas. Em Java, os principais laços são: for
, while
e do-while
. Este post explora cada um deles com exemplos e melhores práticas para ajudar você a utilizá-los de forma eficiente.
Laços de Repetição
Os laços de repetição tornam possível executar uma tarefa várias vezes sem duplicar código. Em Java, os principais tipos de laços são:
-
for: Ideal para iterações com um número conhecido de repetições.
-
while: Usado quando não se sabe exatamente quantas vezes a repetição ocorrerá.
-
do-while: Semelhante ao
while
, mas garante que o bloco seja executado ao menos uma vez.
Laço For
O laço for
é usado quando sabemos quantas vezes o bloco deve ser repetido. Ele possui uma estrutura compacta que inclui inicialização, condição e incremento.
Sintaxe Básica
for (inicialização; condição; incremento) {
// Código a ser executado
}
Exemplo
public class LacoFor {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("Iteração: " + i);
}
}
}
For-Each
O Java também suporta o laço for-each
, útil para percorrer coleções ou arrays.
Exemplo básico:
public class LacoForEach {
public static void main(String[] args) {
String[] nomes = {"Gaspar", "Laura", "Cecília"};
for (String nome : nomes) {
System.out.println("Nome: " + nome);
}
}
}
Exemplo com Streams e forEach
:
import java.util.List;
public class LacoStreamForEach {
public static void main(String[] args) {
List<String> nomes = List.of("Gaspar", "Laura", "Cecília");
nomes.forEach(nome -> System.out.println("Nome: " + nome));
// ou
nomes.stream().forEach(nome -> System.out.println("Nome: " + nome));
}
}
Laço While
O while
executa um bloco de código enquanto a condição for verdadeira. Ele é mais flexível que o for
, mas pode ser mais suscetível a erros, como laços infinitos.
Sintaxe Básica
while (condição) {
// Código a ser executado
}
Exemplo
public class LacoWhile {
public static void main(String[] args) {
int contador = 0;
while (contador < 5) {
System.out.println("Contador: " + contador);
contador++;
}
}
}
Laço Do-While
O do-while
é semelhante ao while
, mas garante que o bloco de código seja executado pelo menos uma vez, mesmo que a condição seja falsa.
Sintaxe Básica
do {
// Código a ser executado
} while (condição);
Exemplo
public class LacoDoWhile {
public static void main(String[] args) {
int contador = 0;
do {
System.out.println("Contador: " + contador);
contador++;
} while (contador < 5);
}
}
Exemplo com break e return
O break
termina o laço imediatamente, enquanto o return
finaliza o método em que o laço está inserido.
public class BreakReturnExample {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 5) {
System.out.println("Parando no 5 com break");
break;
}
System.out.println("Valor: " + i);
}
for (int i = 0; i < 10; i++) {
if (i == 5) {
System.out.println("Saindo do método no 5 com return");
return;
}
System.out.println("Valor: " + i);
}
}
}
Exemplo com Laço Rotulado
Os laços rotulados permitem interromper ou continuar um laço externo específico usando um rótulo.
public class LacoRotulado {
public static void main(String[] args) {
nomeDoFor:
for (int i = 0; i < 3; i++) {
for (int j = 2; j < 5; j++) {
System.out.println("i: " + i + ", j: " + j);
if (i == j) {
System.out.println("Interrompendo o laço externo quando i == j");
break nomeDoFor;
}
}
}
}
}
Conclusão
Os laços de repetição são ferramentas poderosas no desenvolvimento Java. Saber escolher entre for
, while
e do-while
, além de aplicar conceitos como Streams, break
, return
e rótulos, é essencial para criar soluções eficientes e legíveis. Aplicar boas práticas na utilização dessas estruturas ajuda a evitar erros comuns e garante que seu código seja mais fácil de entender e manter.
Em futuros posts da série "Aprendendo Java do Zero: Guia Completo para Iniciantes", abordaremos o tema "Conversão de Tipos e Casting em Java: Dicas para Evitar Erros Comuns"!