.## 1. Introdução
Ao aprender programação Java, o processamento de loops é um dos construtos fundamentais essenciais. Entre eles, a instrução continue costuma ser negligenciada. No entanto, quando usada corretamente, pode melhorar significativamente a legibilidade e a eficiência do código.
Usando continue, você pode pular apenas a iteração atual de um loop e prosseguir para a próxima quando uma condição específica for atendida. Isso é útil, por exemplo, quando você deseja excluir determinados valores em um array ou evitar cálculos desnecessários.
Neste artigo, explicamos tudo, desde o uso básico do java continue até exemplos práticos e diferenças em relação a outras instruções de controle de loop. Seja você um iniciante ou um desenvolvedor intermediário que já usou continue sem compreendê‑lo totalmente, este guia ajudará a utilizá‑lo com confiança.
Vamos analisar passo a passo o java continue, dos conceitos básicos ao uso avançado.
2. Sintaxe Básica e Fluxo de Execução
A instrução continue é usada principalmente dentro de loops. No Java, ela pode ser empregada em várias estruturas de loop, como for, while e do‑while. Esta seção explica a sintaxe básica e como ela funciona.
2-1. Sintaxe Básica do continue
A sintaxe do continue é muito simples:
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // Skip this iteration when the condition is met
}
System.out.println(i);
}
Neste exemplo, quando i é par, o continue é executado e o System.out.println(i) é ignorado. Como resultado, apenas os números ímpares são impressos.
2-2. Fluxo do Loop e Como o continue Funciona
Quando o continue é executado, todas as instruções subsequentes na iteração atual do loop são puladas, e a execução prossegue imediatamente para a próxima iteração.
Aqui está um fluxo simplificado usando um loop for:
- Inicialização do loop (ex.:
int i = 0) - Verificação da condição (ex.:
i < 10) - Execução do corpo do loop
- Se o
continuefor executado, as instruções restantes são ignoradas - Passo de incremento (ex.:
i++) - Retorno ao passo 2
Em resumo, continue simplesmente significa “pular apenas a iteração atual”. É útil para controlar claramente as condições de salto, mesmo em loops complexos.
2-3. Quando o continue é Útil?
Ele é particularmente útil quando você deseja pular o processamento para condições específicas, como ignorar valores inválidos ou erros e avançar para a próxima iteração.
Nas seções seguintes, exploraremos exemplos práticos para demonstrar o uso eficaz.
3. Exemplos Práticos de Código
Esta seção apresenta exemplos concretos usando continue para ajudar a visualizar seu uso no mundo real.
3-1. Usando continue em um Loop for: Pulando Valores Específicos
Por exemplo, se você quiser pular múltiplos de 3 entre 1 e 10:
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue; // Skip multiples of 3
}
System.out.println(i);
}
Este código exibe todos os números, exceto 3, 6 e 9.
3-2. Usando continue em um Loop while: Validação de Entrada
Ao lidar com entrada do usuário, pode ser necessário ignorar valores inválidos, como números negativos:
Scanner scanner = new Scanner(System.in);
int count = 0;
while (count < 5) {
System.out.print("Please enter a positive integer: ");
int num = scanner.nextInt();
if (num < 0) {
System.out.println("Negative values are ignored.");
continue;
}
System.out.println("Entered value: " + num);
count++;
}
Aqui, os valores negativos são ignorados e não incrementam count.
3-3. Usando continue em Loops for Aprimorados (for‑each)
Você também pode usar continue ao iterar sobre coleções:
String[] names = {"田中", "", "佐藤", "鈴木", ""};
for (String name : names) {
if (name.isEmpty()) {
continue;
}
System.out.println(name);
}
Apenas strings não vazias são impressas.
4. Diferenças Claras entre continue e break
A instrução continue é frequentemente comparada com break, mas seu comportamento é fundamentalmente diferente.
4-1. Principais Diferenças
- continue : Pula a iteração atual e prossegue para a próxima.
- break : Termina o loop inteiro imediatamente.
4-2. Comparação de Código
Exemplo de continue:
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) {
continue;
}
System.out.println(i);
}
Exemplo de break:
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
4-3. Diretrizes de Uso
- Use
continuequando quiser pular parte de um loop. - Use
breakquando quiser sair do loop completamente.
5. Uso Avançado: continue Rotulado
O Java suporta continue rotulado, que permite especificar qual loop deve ser continuado em loops aninhados.
5-1. Sintaxe Básica
outerLoop:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue outerLoop;
}
System.out.println("i=" + i + ", j=" + j);
}
}
5-2. Resultado da Execução
i=1, j=1
i=2, j=1
i=3, j=1
5-3. Considerações de Legibilidade
Embora o continue rotulado possa simplificar o controle de loops aninhados, o uso excessivo pode reduzir a legibilidade. Recomenda‑se usá‑lo com moderação.
5-4. Risco de Loops Infinitos
Tenha cuidado ao pular lógica que atualiza as condições do loop, pois isso pode causar loops infinitos.
6. Melhores Práticas e Armadilhas
6-1. Evite o Uso Excessivo de continue
O uso excessivo pode tornar o código mais difícil de entender.
6-2. Previna Loops Infinitos
int i = 0;
while (i < 5) {
if (i == 2) {
continue;
}
i++;
System.out.println(i);
}
Este código resulta em um loop infinito porque i++ é pulado.

6-3. Considerações para Desenvolvimento em Equipe
Use continue com cuidado e documente a intenção claramente em ambientes de equipe.
6-4. Considere Alternativas
Às vezes, reestruturar a lógica ou usar retornos antecipados pode eliminar a necessidade de continue.
7. Alternativas Mais Refinadas
7-1. API Stream
Arrays.stream(names)
.filter(name -> !name.isEmpty())
.forEach(System.out::println);
7-2. Decomposição de Métodos
for (User user : userList) {
if (isValid(user)) {
process(user);
}
}
7-3. Perspectiva de Desenvolvimento em Grande Escala
Legibilidade e manutenibilidade são priorizadas, tornando Streams e design limpo preferíveis.
8. Resumo
8-1. Conceito Central
continue pula a iteração atual e avança para a próxima.
8-2. Diferença em relação ao break
- break: sai do loop
- continue: pula uma iteração
8-3. Melhores Práticas
- Evite o uso excessivo
- Previna loops infinitos
- Escreva código legível
8-4. Use Recursos Modernos do Java
Streams e decomposição de métodos frequentemente oferecem alternativas mais seguras.
8-5. Tarefas de Prática
- Pular elementos condicionalmente
- Comparar com
breakereturn - Reimplementar usando a API Stream
FAQ
Q1. Como devo escolher entre continue e break?
Use continue para pular uma iteração e break para sair de um loop.
Q2. Quando devo usar continue rotulado?
Somente quando precisar pular loops externos em estruturas aninhadas.
Q3. A API Stream pode substituir continue?
Sim, usar filter alcança o mesmo efeito.
Q4. Como posso evitar loops infinitos?
Garanta que os contadores do loop sejam atualizados antes de continue.
Q5. O continue afeta o desempenho?
Nenhum impacto significativo quando usado adequadamente.
Q6. O continue é recomendado em código de produção?
É aceitável para casos simples, mas clareza e manutenibilidade devem ser priorizadas.

