Це дійсно відповідь на коментар seanizer щодо відповіді org.life.java, але я хотів ввести якийсь код, щоб не міг використовувати функцію коментаря.
Хоча я дуже рідко зустрічаю слово "break label", але це трапляється випадково. Найпоширеніший випадок, коли я шукаю те, що знаходиться в структурі, що вимагає вкладеного циклу для пошуку, наприклад:
search:
for (State state : stateList)
{
for (City city : state.cityList)
{
if (city.zipcode.equals(wantZip))
{
doSomethingTo(city);
break search;
}
}
}
Зазвичай у таких випадках я пересуваю все в підпрограму, щоб під час потрапляння я міг повернути знайдений об’єкт, і якщо він випаде внизу циклу, я можу повернути нуль, щоб вказати не знайдений, або, можливо, кинув виняток. Але це час від часу корисно.
Чесно кажучи, я думаю, що винахідники Java включили цю функцію, оскільки між цим та обробкою винятків вони усунули останні два законних використання для GOTO.
Дуже пізнє доповнення:
Я бачив один раз чудовий рядок коду. Програміст написав:
http://www.example.com/xyz.jsp
for (Foo foo1 : foolist)
Він насправді не сказав "example.com", але веб-сайт нашої компанії.
Створюється враження, що в коді є URL. Він успішно збирається, як би щось робить. Але ... що це робить?
Насправді це нічого не робить. "http:" - це ярлик, на який він ніколи не посилається. Тоді "//" робить решту рядка коментарем.