Что такое метки и как их использовать?

Иногда можно встретить код выхода из некоторого количества вложенных циклов, например, такой:

flag1=false;
for (...) {
	for (...) {
    	if (...) (flagx=true) break;}
	}
	if (flag1 == true) break;
}

В таких случаях можно использовать метки. Они требуются для указания точки перехода для break и continue. Их можно использовать в циклах for и while, операторах ветвления if или switch и блоке с простыми последовательными командами.

При этом метки разрешается использовать исключительно внутри блока команд. Таким образом перейти в другой цикл не получится.

outerLoop:
while (...) {
  for (...) {
    // Переходим на следующий шаг внешнего цикла while
    if (...) continue outerLoop;
  }
}
overNestedlfs:
if (...) {
  if (...) {
  } else {
    if (...) break overNestedlfs;
  }
  // Недостижимо если выше дошли до break
}
 
someCodeSection:
{
  ...
  if (x) break someCodeSection;
  // Недостижимо в случае x == true
}
 
wholelfElse:
if (...) justlf: {
  // Здесь можно использовать только wholelfElse и justlf
} else justElse: {
  // Здесь можно использовать только wholelfElse и justElse
}

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *