continue com rótulo
Continue um laço externo
continue com rótulo é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
Continuando um Laço Externo
Um continuar simples apenas reinicia o laço interno. Às vezes, você quer avançar para a próxima passagem do laço externo.
Para isso, Java oferece um continuar rotulado.
Ele combina um rótulo de laço com a palavra-chave continuar para controlar qual laço avança.
Sintaxe de continuar Rotulado
A forma é continuar rótulo;, em que o rótulo nomeia um laço envolvente.
Em vez de avançar o laço interno, ele salta para a próxima iteração do laço rotulado.
Tudo o que restar no laço interno naquela passagem será ignorado.
continue outer; // jump to next iteration of 'outer'Um Primeiro Exemplo
Aqui, quando a coluna é igual a 2, continuamos o laço externo.
Isso abandona o restante do laço interno e avança imediatamente para a próxima linha.
public class Main {
public static void main(String[] args) {
outer:
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
continue outer;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}Lendo a Saída
Cada linha imprimiu apenas a coluna 1. Quando a coluna chegou a 2, continuar externo saltou diretamente para a próxima linha.
As colunas 2 e 3 nunca foram impressas em nenhuma linha.
O laço interno reiniciou na coluna 1 a cada nova linha.
continuar versus continuar rótulo
Compare com um continuar simples. Ele ignoraria apenas a coluna 2 e ainda imprimiria a coluna 3.
Execute isto e observe que as colunas 1 e 3 aparecem em todas as linhas.
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
continue;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}A Diferença Fundamental
Um continuar simples ignora apenas a passagem interna atual, então o laço interno continua executando.
continuar externo rotulado abandona todo o laço interno e reinicia a próxima passagem do laço externo.
Esse único rótulo muda a quantidade de código ignorada.
Ignorando uma Linha Inteira
Continuar rotulado é útil quando um valor inválido deve invalidar o restante de uma passagem interna.
Aqui, se algum número em uma linha for negativo, ignoramos o restante do trabalho dessa linha e prosseguimos.
public class Main {
public static void main(String[] args) {
int[][] data = {{1, 2, 3}, {4, -1, 6}, {7, 8, 9}};
rows:
for (int r = 0; r < data.length; r++) {
int sum = 0;
for (int c = 0; c < data[r].length; c++) {
if (data[r][c] < 0) {
System.out.println("Row " + r + " skipped");
continue rows;
}
sum += data[r][c];
}
System.out.println("Row " + r + " sum = " + sum);
}
}
}Rastreando Esse Exemplo
As linhas 0 e 2 imprimiram suas somas. A linha 1 encontrou um valor negativo, imprimiu "Linha 1 ignorada" e avançou para a próxima linha.
É importante observar que a linha da soma da linha 1 nunca foi executada, pois o continuar rotulado passou por ela.
Filtrando Pares
Outro uso: ignore um item externo inteiro no instante em que uma condição interna falhar.
Este laço imprime pares, mas ignora qualquer i cujo produto com j ultrapassaria 6.
public class Main {
public static void main(String[] args) {
loopI:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i * j > 6) {
continue loopI;
}
System.out.println(i + " x " + j + " = " + (i * j));
}
}
}
}Nomes e Posicionamento dos Rótulos
O laço rotulado deve envolver a instrução continuar. Você não pode continuar um rótulo que não esteja acima de você.
Escolha nomes descritivos, como linhas ou loopI, para que os leitores saibam qual laço avança.
Um rótulo claro já funciona como documentação.
Quando Ajuda e Quando Prejudica
Continuar rotulado ajuda quando uma condição deve invalidar o restante de uma passagem interna e permitir o avanço.
Mas o uso excessivo de rótulos torna o fluxo difícil de rastrear. Se um continuar simples ou um retorno antecipado do método for mais fácil de ler, prefira essa opção.
Use rótulos apenas quando eles realmente trouxerem clareza.
Verificação Rápida
Preveja o efeito de um continuar rotulado.
Recapitulação
continuar rótulo; ignora o restante do laço interno e avança o laço externo nomeado para a próxima iteração.
Ele é diferente de um continuar simples, que ignora apenas uma passagem interna. Use rótulos quando eles tornarem a lógica de vários laços mais clara, não apenas mais curta.
Perguntas Frequentes
A aula “continue com rótulo” é grátis?
Sim — o texto completo de “continue com rótulo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “continue com rótulo”?
Continue um laço externo Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “continue com rótulo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- break e continue
- break com rótulo
- continue com rótulo
- Evitando fluxo espaguete