Duvidas sobre Rotulos

Olá pessoal, tudo bem ? (espero que sim). Meu nome é valdecir e eu estou em uma maratona de estudos sobre a linguagem Java. Minha base de estudos é o site: “https://www.tutorialspoint.com/javaexamples/java_methods.htm”. Este site tem tópicos que particionam bem a linguagem de uma forma bem didática. Bom…
Minha duvida é sobre rotulação de métodos, no site só tem um EX eu não entendi onde eu usaria e por que.
Segue codigo abaixo do ex do site.

public class NewClass {
public static void main(String[] args) {
String strSearch = “This is the string in which you have to search for a substring.”;
String substring = “substring”;
boolean found = false;
int max = strSearch.length() - substring.length();
testlbl: for (int i = 0; i <= max; i++) {
int length = substring.length();
int j = i;
int k = 0;
while (length-- != 0) {
if(strSearch.charAt(j++) != substring.charAt(k++)){
continue testlbl;
}
}
found = true;
break testlbl;
}
if (found) {
System.out.println(“Found the substring .”);
} else {
System.out.println(“did not find the substing in the string.”);
}
}
}

Ao postar código no fórum, formate ele:
formatacao-forum

Não dá pra rotular métodos, somente blocos de código, laços e switches.
A utilidade do rótulo é você poder fazer um break para sair daquele escopo, ou um continue para retornar ao início dele.

public class Exemplo {

    public static void main(String[] args) {
        System.out.println("Entrando no MEU_LOOP");
        MEU_LOOP: for (int i = 0; i < 100; i++) {
            int n = 0;
            System.out.println("Entrando no MEU_OUTRO_LOOP");
            MEU_OUTRO_LOOP: while (n < 10) {
                n++;
                System.out.println("n = " + n);
                if (n == 5) {
                    break MEU_LOOP;
                }
            }
            System.out.println("saiu do MEU_OUTRO_LOOP");
        }
        System.out.println("saiu do MEU_LOOP");
    }
}
3 curtidas

Obrigado amigo pela maravilhosa explicação