Рассмотрим теперь такой оператор, как оператор Перехода. Оператор go to, в отношении которого довольно часто возникают споры. И большинство программистов считают применение самого оператора go to признаком плохого тона в программировании. Именно поэтому разработчики языка Java, Хотя и сохранили само зарезервированное слово go to, но в сам язык его не включили. Правда, вместо оператора go to, существует специальный оператор для обеспечения преждевременного выхода из цикла.
Это оператор break, такой же, как мы применяли в случае переключателя. Например, напишем какой-либо цикл, при помощи которого выполним вот этот кусочек программы несколько раз. Для этого здесь щелкнем на клавише Enter, далее напишем, оператор for, и теперь внутри скобок создадим новую переменную целого типа. Пусть это переменная будет i2.
Она меняется от 1 до, например, i2 меньше 10. На каждом цикле пусть будет приращение на единицу. Закрыть скобки. Далее все остальные операторы поместим в фигурные скобки. А также, на каждом цикле на наше консольное окно выведем номер итерации i2. Для этого скопируем вот этот println, выделим его. Правая кнопка мыши. Сору. Вставим сюда. Правая кнопка и Paste. Далее кавычки. Напишем цикл. Закрыть кавычки и номер i2. Закрыть скобку. Точка с запятой. Вот теперь мы пока сделали цикл, при помощи которого просто-напросто 9 раз при i2 равен от 1 до 9, будет выполняться вот этот цикл, цикл запроса номера варианта. А теперь представим себе, что нам, в каком-либо месте нашей программы,
например, вот в этом месте, проверить какую-либо величину и в зависимости от его значения, может потребоваться нам аварийный выход из вот этого цикла.
Например, напишем таким образом. Оператор IF, далее проверим i1. Если
i1 равняется, например, величине 55, тогда напишем оператор break. Точка с запятой. Исправим теперь вот в операторе if знак равенства. Конечно же, здесь должен быть знак сравнения, а также вместо переменной i, здесь должна быть переменная i2, в этом операторе for. Теперь скомпилируем эту программу. Для этого щелкнем на пункте Tools. Далее Compile Java. Теперь опять Tools, Run Java Application. Как мы видим, программа запустилась. Появилось вот это диалоговое окно. Введем здесь какое-либо число. Например, 2. ОК. Вот, как мы видим, это у нас вариант 2 отметился. И цикл номер 1. Теперь введем какое-либо другое число. Например, 4.
ОК. Как мы помним, в случае варианта 4, выполняется и оператор варианта 4 и варианта 5, поэтому напились две строки. Variant Four и Variant Five. Теперь же, если мы введем какое-либо число, которое не входит в эти варианты, например, 33. ОК. Появилась надпись No variants, а если же мы введем число 55, которое у нас являлось так сказать ключевым, для выхода из цикла, и щелкнем на кнопку ОК, то, как мы видим, у нас просто-напросто завершилось выполнение нашей программы. Что и было нами заложено. Закроем.
Кроме оператора break, у языка Java, существует еще один оператор, оператор continue, который тоже наподобие оператора break прерывает нормальное выполнение нашей программы, но в отличие от оператора break не выходит целиком из цикла, а прерывает выполнение текущего цикла и передает управление на начало цикла. На выполнение следующей операции. Но, например, напишем здесь же, там где у нас был оператор break, еще одну проверку if, if i1 равняется, например, 66, тогда выполним оператор continue. Точка с запятой.
Теперь запустим эту программу. Для этого щелкнем на пункте Tools. Далее Compile Java. Теперь опять Tools, Run Java Application. Введем какое-либо число. Например, 3. Как видим, сейчас выполнился цикл номер 1. Если зададим число 5, выполнился цикл номер 2. А если же введем число 66, то, как мы видим, операторы следующего цикла не выполнились. Правда, выход из всего цикла не произошло. Опять появилось диалоговое окно. Если, сейчас опять введем какой-либо номер, например, номер 2, щелкнем на ОК, то, как мы видим, после цикла 2 мы перешли к циклу 4, цикл 3 у нас просто-напросто пропустился. Пропустился, благодаря оператору continue.
Если же мы сейчас введем число 55 и щелкнем на ОК, то мы совсем выйдем из нашего цикла и соответственно из нашей программы, благодаря оператору
break. Закроем. Надо отметить, что при помощи оператора break мы можем прекратить выполнение только текущего цикла, самого вложенного. Что же делать, если мы хотим выйти из нескольких циклов сразу? Для этого существует в языке Java специальная разновидность оператора break, break с меткой. Например, наряду с вот этим циклом for напишем еще один цикл. Опять напишем for, int.
Пусть это будет на этот раз переменная i3. Пусть она опять меняется от 1 до i3 меньше 10. Тут особо мудрить не стоит. Далее i3 ++ на каждом шаге увеличиваем на единицу. Далее фигурные скобки, внутри которых поместим первый оператор for. Теперь нам нужно еще вставить закрывающую скобку фигурную, которая встанет вот в это место. И далее, при распечатке выведем не только i2, но и i1. Поэтому напишем, таким образом, i1, далее Плюс, кавычки, пара пробелов и плюс. Вот попробуем выполнить все это таким образом. Теперь же попробуем использовать оператор break с меткой. Для этого введем метку вот этому внешнему циклу. Например, пусть это будет следующая аббревиатура. Просто-напросто возьмем abcd. В принципе это может быть любое имя, как мы составляем имя переменной, только дальше это должно быть двоеточие. И теперь вот в этом месте, где мы выполняли все проверки, выполним еще одну проверку if. И если переменная i1 у нас будет равняться, возьмем 77, в этом случае выполняется оператор break с меткой abcd. Т.е. происходит выход всех циклов до метки abcd.
Попробуем теперь выполнить эту программу. Для этого Tools, Compile Java. Сначала скомпилируем. Теперь Tools, Run Java Application. Запуск программы. Появляется вот это стандартное диалоговое окно. Наберем здесь единицу. ОК. Вот, как видно, у нас цикл 1,1. Возьмем теперь, например, 2. Выполняется цикл 1,2. Если же мы возьмем число 66, ОК. Как мы видим, мы пропустили один цикл. Если возьмем, например, число 4, видно, что мы после второго цикла перешли сразу на 4. Возьмем теперь число 55. ОК. Мы опять пропустили цикл, но на этот раз, если опять введем какое-либо число. Например, 2 и щелкнем на ОК, то можно видеть, что мы перешли к следующему циклу во внешнем цикле. Вот здесь, после единицы, появилась 2. А во внутреннем цикле у нас счет пошел сначала, с единицы.
Если мы теперь опять введем какое-либо число. Например, 5, то мы переходим к следующему по порядку циклу. А если же мы введем число 77. ОК. То на этот раз мы вышли из первого и из второго цикла. Мы перешли по метке, выполненной оператором break с меткой. Закроем теперь наше приложение и отметим, что в принципе такой оператор break с меткой и вот эту метку можно приписывать не только оператору цикла, но и любому составному оператору. Например, оператору if, просто-напросто в круглых скобках, внутри которого находится некий составной оператор и т. д. Правда, как мы сказали ранее, использование вот этих операторов break и continue, операторов прерывания нормального выполнения программы, в принципе считается дурным тоном в программировании. И в надо воздерживаться от их неоправданного употребления, поскольку их использование может довольно сильно запутать программу и сделать ее совершенно нечитабельной.
⇐Оператор switch | TeachPro WEB-дизайн | Большие числа. арифметические операции⇒