Как и в операторе break, в операторе continue может присутствовать метка, обозначающая тот объемлющий цикл, выполнение которого должно быть продолжено. Ниже приведен пример программы, демонстрирующий применение оператора continue с меткой. // Применить оператор continue с меткой, class ContToLabel { public static void main(String args[]) { outerloop: for(int i=l; i < 10; i++) { System.out.print("\nOuter loop pass " + i + ", Inner loop: "); for(int j = 1; j < 10; j++) { if(j == 5) continue outerloop; // продолжить внешний цикл System.out.print (j); } } } }
Выполнение этой программы дает следующий результат: Outer loop pass 1, Inner loop: 1234 Outer loop pass 2, Inner loop: 1234 Outer loop pass 3, Inner loop: 1234 Outer loop pass 4, Inner loop: 1234 Outer loop pass 5, Inner loop: 1234 Outer loop pass 6, Inner loop: 1234 Outer loop pass 7, Inner loop: 1234 Outer loop pass 8, Inner loop: 1234 Outer loop pass 9, Inner loop: 1234
Как следует из приведенного выше примера, при выполнении оператора continue управление передается внешнему циклу, и оставшиеся итерации внутреннего цикла пропускаются.
В реальных программах оператор continue применяется очень редко. И объясняется это, в частности, богатым набором в Java операторов цикла, удовлетворяющих большую часть потребностей в написании прикладных программ. Но в особых случаях, когда требуется преждевременное прекращение цикла, оператор continue позволяет сделать это, не нарушая структуру кода.
Пример для опробования 3.3.
Завершение построения справочной системы JavaВ этом проекте предстоит завершить построение справочной системы Java, начатое в предыдущих проектах. Данная версия будет дополнена сведениями о синтаксисе операторов break и continue, а также даст пользователю возможность запрашивать сведения о синтаксисе нескольких операторов. Эта цель достигается путем добавления внешнего цикла, который выполняется до тех пор, пока пользователь не введет с клавиатуры букву q вместо номера пункта меню.
Последовательность действий
Скопируйте файл Help2.java в новый файл Help3.java.
Поместите весь исходный код программы в бесконечный цикл for. Выход из этого цикла будет осуществляться с помощью оператора break, который получит управление тогда, когда пользователь введет с клавиатуры букву q. А поскольку этот цикл включает в себя весь код, то выход из него означает завершение программы.
Измените цикл отображения меню так, как показано ниже.do { System.out.println('1. if"); System.out.println('2. switch"); System.out.println('3. for"); System.out.println('4. while"); System.out.println('5. do-while"); System.out.println('6. break"); System.out.println('7. continue\n") System.out.println('Help on:"); System.out.print("Choose one (q to quit): choice = '(char) System.in.read; do { ignore = (char) System.in.read; } while(ignore != f\n'); } while( choice < '1' | choice > '7' & choice != ' q1); Как видите, цикл теперь включает в себя операторы break и continue. Кроме того, буква q воспринимается в нем как допустимый вариант выбора.
Дополните оператор switch операторами break и continue, как показано ниже. case '6': System.out.println("The break:\n"); System.out.println("break; or break label;"); break; case ’71: System.out.println("The continue:\n"); System.out.println("continue; or continue label;"); break;