Loops rotulados
Publicado por Fagner Amaral de Souza Candido (última atualização em 22/02/2011)
[ Hits: 8.756 ]
Homepage: https://github.com/fagnercandido
Olá PessoALL,
Novamente na minha jornada pela certificação OCJP, coisas interessantes que pude constatar que a linguagem Java proporciona. Confesso que até mesmo estranhas.
Desta vez, a surpresa fica por conta do loop rotulado. Isso meu caro, você não leu errado, é rotulado. Certo, isso remete a goto... Calma, não é goto, mas bem que parece...
Enfim, o loop rotulado tem por objetivo sair de loops que estejam em um nível de aninhamento muito grande. Cria-se um rótulo, seguido por dois pontos, e cria-se o loop. Dentro do loop, com as instruções break e continue você chama o rótulo.
O código abaixo ilustra bem este conceito. O mesmo faz uso tanto com o break, quanto com o continue, vale a pena rodar com ambos e tirar suas conclusões.
Qualquer dúvida, sugestão ou crítica serão bem-vindos,
f_Candido
fagner7777777@gmail.com
@fagner_candido
/*
Sintese :
Objetivo : Demonstrar o uso de Loops rotulados
Entrada : /
Saída : /
Autor : f_Candido fagner7777777@gmail.com @fagner_candido
*/
class LoopRotulado{
public static void main(String[] args){
/*
Loop Externo, expressão rotulado
*/
loopExterno:
for(int contador = 0; contador < 5; contador++){
for(int auxiliar = 0; auxiliar < 5; auxiliar++){
System.out.println("Auxiliar : "+auxiliar);
System.out.println("Contador : "+contador);
/*
Aqui ocorre a mágica, as instruções break e continue
fazem com que o loop seja reavalidado ou lido novamente
*/
//break loopExterno;
continue loopExterno;
}
}
}
}
Nenhum comentário foi encontrado.
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
OCS Inventory NG: Instalação de Agentes Linux e Windows + Autenticação HTTP
Removere linux-image-6... [RESOLVIDO] (2)
Quando vocês pararam de testar distros? (19)
O que houve com slackware ??? (6)









