Предоставление имени цикла

Во время просмотра вопросов и ответов на этом форуме я обнаружил, что часть кода была указана на циклы, чтобы использовать их для разрыва. Как

nameofloop:
    for(){
        for(){
             if(){ break nameofloop;}
        }
    }

Я новый для программирования, и я не видел этого раньше. Мой вопрос заключается в том, что есть другие способы использования циклов имен?

Ответ 1

Это не помеченный цикл, это всего лишь ярлык, который вы размещаете в любом месте, а затем вы можете "сломать" или "продолжить" в зависимости от ваших условий. Вы также можете использовать в вложенных if-else с циклами, чтобы разбить несколько циклов, украшенных if-else, поэтому вы можете избежать установки множества флагов и тестирования их в if-else, чтобы продолжить или нет в этом вложенном уровень.

Его использование не рекомендуется, как напоминающее goto, и вызывает спагетти-код.

Лично я использовал только один раз, время назад, чтобы разбить цикл for внутри двух других циклов с if-else и продолжить во внешнем цикле, поскольку break внутри цикла прерывает этот цикл, но вы продолжаете внешний цикл, а не самый внешний, который был моим случаем.

Ответ 2

Вы также можете сказать:

continue nameofloop;

... перейти к началу именованного цикла. Я не думаю, что есть другие варианты использования ярлыков в Java.

Ответ 3

Он известен как помеченный перерыв, который является формой выражения ветвления. Вы можете увидеть все примеры в Официальная документация.

Ответ 4

Я думаю, что это единственный случай, который он использовал. И это не то, что обычно используется, потому что обычно более читаемо изменять значение флага, чтобы закончить цикл преждевременно.

Ответ 5

Официально, я считаю, что это называется "помеченным перерывом". Это полезно для выхода из вложенных циклов, например:

found:
    for (int i = 0; i < 100; i++)
        for (int j = 0; j < 100; i++)
            if ( /* Some condition is met */)
                break found;

Я не считаю это полезным ни для чего другого.

Ответ 6

  • Создайте массив (int) размера 10.

  • Позвольте пользователю назначить значения - (использовать for-loop).

  • Найдите общее и среднее значений, хранящихся в массиве, - (используйте for-loop).