Метки в Java – прозрение
Рубрика: Development, Java | 11 January 2007, 11:12 | Vadim Voituk
Сегодня утром был искренне поражен узнав что в Java есть метки.
Да-да, именно те самые метки какие есть в других языках и на какие можно “делать goto”.
К моей огромной радости оказалось, что ненавистного оператора goto все-таки в Java нет.
Но есть возможность выполнить continue или break с указанием метки.
continue <label> – это безусловный переход к началу блока (почти goto).
break <label> – это выход из блока кода помеченного меткой.
Практичных применений этому я пока не нашел но подозреваю, что можно использовать например выхода из набора вложенных циклов:
public class Test {
public static void main(String[] argv) {
lab1: for (int i=0; i<10; i++) {
for (int j=0; j<10; j++) {
if (j>=5 && i>5)
break lab1;
System.out.println(i + " / " + j);
}
}
}
}
Tweet
rm
March 1st, 2016 at 9:07 pmOpcode Operand(s) Description
goto branchbyte1, branchbyte2 branch to offset
goto_w branchbyte1, branchbyte2, branchbyte3, branchbyte4 branch to offset
that’s it!