Dúvidas com searchLabel(Não é label do Swing)

1 resposta
A

Pessoal, tenho uma dúvida relacionada à funcionalidade e estrutura com break de uma parte do código denominada label :

int[][] numbers = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int searchNum = 5;
boolean foundNum = false;
	searchLabel: for (int i=0; i<numbers.length; i++) { // declaração do label
		for (int j=0; j<numbers[i].length; j++) {
			if (searchNum == numbers[i][j]) {
				foundNum = true;
				break searchLabel; // break labeled
			}
		} // final do laço j
	} // final do laço i
	if (foundNum) {
		System.out.println(searchNum + " found!");
	} else {
		System.out.println(searchNum + " not found!");
}

Pelo que li, o lebel é declarado com um nome seguido de 2 pontos, mas ainda não entendi bem a funcionalidade e definição desse tipo de estrutura…
Se alguém puder me ajudar, agradeço!

1 Resposta

E

break sai apenas do nível mais interno
break label serve para sair do nível que está precedido por esse label

Procure no Google por “Java labeled break”.
Exemplo:
http://www.javaspecialists.eu/archive/Issue110.html

Criado 20 de maio de 2013
Ultima resposta 20 de mai. de 2013
Respostas 1
Participantes 2