Метки в 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);
      }
    }
  }

}

Пока один комментарий

One Response to “Метки в Java – прозрение”

Комментарии:

  1. rm

    Opcode Operand(s) Description
    goto branchbyte1, branchbyte2 branch to offset
    goto_w branchbyte1, branchbyte2, branchbyte3, branchbyte4 branch to offset

    that’s it!

Leave a Reply