Esta es realmente una respuesta al comentario de seanizer sobre la respuesta de org.life.java, pero quería poner algo de código para no poder usar la función de comentarios.
Si bien es muy raro que encuentre un uso para "rotura de etiqueta", ocurre ocasionalmente. El caso más común es cuando estoy buscando algo que está en una estructura que requiere un bucle anidado para buscar, como:
search:
for (State state : stateList)
{
for (City city : state.cityList)
{
if (city.zipcode.equals(wantZip))
{
doSomethingTo(city);
break search;
}
}
}
Por lo general, en tales casos, empujo todo en una subrutina para que en un golpe pueda devolver el objeto encontrado, y si cae al final del bucle, puedo devolver un valor nulo para indicar que no se encontró, o tal vez lanzar una excepción. Pero esto es útil en ocasiones.
Francamente, creo que los inventores de Java incluyeron esta característica porque entre esto y el manejo de excepciones, eliminaron los dos últimos usos legítimos de GOTO.
Addendum muy tardío:
Una vez vi una gran línea de código mordaza. El programador escribió:
http://www.example.com/xyz.jsp
for (Foo foo1 : foolist)
En realidad, no dijo "example.com", sino el sitio web de nuestra empresa.
Da la impresión de que hay una URL en el código. Se compila con éxito, como si hiciera algo. ¿Pero, qué hace?
En realidad, no hace nada. "http:" es una etiqueta a la que nunca hace referencia. Luego, el "//" convierte el resto de la línea en un comentario.