Если нам в программе надо сделать выбор из многих вариантов, для этих целей в языке Java есть специальный оператор switch. Он эквивалентен такому же оператору в языках C и C++. Для того чтобы познакомиться с ними поближе, рассмотрим опять шаблон вот этой простейшей программы, которая выводит на консольное окно вот такую надпись. Сохраним ее на жестком

диске. Для этого щелкнем на кнопку сохранения. Создадим новую папку для нее отдельную. И введем имя для файла нашей программы. Как мы помним, он должен совпадать с названием нашего класса, Myl. Щелкнем на кнопку Сохранить. И теперь попробуем использовать оператор switch. Для этого выведем сначала на наш экран диалоговое окно. Это можно сделать при помощи оператора

showInputDialog. Для этого возьмем сначала переменную типа String. Пусть эта переменная будет input. Равняется. Далее JOptionPane Точка. Теперь showInputDialog. Скобка. И теперь внутри этой скобки в кавычках, напишем тот текст, который должен появиться в этом диалоговом окне. Просто напишем вариант 1,2,3,4. Закрыть скобку.

Теперь пусть будет кавычки. Закрыть скобку. Точка с запятой. Конечно же, чтобы использовать этот оператор, нам нужно импортировать соответствующий пакет. Для этого в первой строчке нашей программы напишем import, далее пакет, javax, внутри которого и находится средство поддержки диалогового окна. Далее swing. Звездочка. Точка с запятой.

И теперь, преобразуем эту переменную строковую типа в целое число. Для этого определим новую переменную типа integer. Пусть эта переменная будет i1, равняется. Далее функция преобразования - integer. Точка. parseInt. Скобка и переменная input, внутри которой и должно находиться число, которое определит наши дальнейшие действия. Теперь напишем switch. Далее нам нужно указать в скобках ту переменную, на основе которой и будем производить переключение. Эта переменная у нас i1. Далее фигурные скобки, внутри которых нам нужно написать все содержание нашего переключателя. Щелкнем теперь на клавише Enter и далее введем оператор case. И далее 1. Это будет означать, что после этого двоеточия будут выполняться операторы, в случае, если у нас i1 будет равен ровно 1. Т.е. мы выбрали первый вариант.

И теперь нам нужно написать те операторы, которые должны выполняться в этом случае. Для этого, просто-напросто скопируем эту строчку, выделим. Правая кнопка мыши. Сору. Вставим сюда. Правая кнопка. Paste. И пусть на консольное окно выводится вариант 1. Variant one. Далее кавычки. Закрыть скобку. Точка с запятой. И далее нам нужно выполнить и написать оператор break, для того чтобы после выполнения вот этого оператора, который предназначен для варианта 1, переключатель прекратил свою работу и не выполнял остальные варианты.

Теперь выполним вариант 2. Для этого проще всего скопировать вот эту строку. Выделим. Правая кнопка мыши. Сору. Далее встанем сюда. Правая кнопка мыши и Paste. Только вместо Variant one, будит Variant two. Теперь опять Enter. Опять правая кнопка мыши и Paste. На этот раз вместо варианта Variant two будет Variant three, три. Но, соответственно, конечно же, нужно изменить здесь числа. Будет 2 и дальше 3. Теперь напишем, что должно происходить в варианте 4.

Вставим. Paste. Это у нас будет вариант 4, поэтому здесь напишем four. Теперь скопируем еще раз. Правая кнопка мыши и Paste, case 5 и вариант будет five. Теперь же нам нужно написать операторы, которые будут выполняться в том случае, если у нас i1 не равен ни 1, ни2, ни 3, ни 4, ни 5. Поэтому напишем здесь default, что должно происходить по умолчанию, если i1 у нас не будет равен ни одному из существующих вариантов.

Опять напишем println. Скопируем. Сору. Вставим сюда. Правая кнопка и Paste. И в кавычках напишем No Variants, нет вариантов. Кавычки. Закрыть скобку. Точка с запятой. И опять break. Запустим теперь наше приложение. Сначала его скомпилируем. Для этого Tools. Далее Compile Java. После этого опять Tools, Run Java Application. Вот, появилось диалоговое окно с приглашением выбрать один из 5 вариантов. Но, выберем, например, вариант 4. ОК. И, как мы видим, появилась соответствующая надпись - Variant four. Как мы видим, мы забыли написать system exit.

В связи с этим, нормального выхода не получилось. Закроем наше консольное приложение и в конце напишем system exit. Но и, конечно же, с кодом 0, что символизирует нормальное окончание процесса. Запустим опять наше приложение. Tools. Сначала скомпилируем. Compile Java. Опять Tools, Run Java Application. И на этот раз введем какое-либо совсем другое число, например, 88, которое у нас не присутствует в этом переборе возможных значении. ОК. И как мы видим, в этом случае появилась надпись No Variants, вариантов нет. Нормальное окончание процесса.

Закроем. Вернемся в обычный текстовый редактор. Попробуем теперь проэкспериментировать, и убрать один из операторов break. Например, вот этот. После выполнения 4-ого варианта. Теперь опять скомпилируем. Для этого Tools. Далее Compile Java. После этого опять Tools, Run Java Application. И теперь, если мы введем вариант 4, и щелкнем на кнопку ОК, то мы можем видеть, что у нас получилось. А именно, выполним все операторы, которые предназначались и для варианта 4 и для варианта 5. Написалось и four и five. Если же мы запустим это приложение еще раз и напишем 5, то, как мы видим, в этом случае выполняется оператор, который написан у нас для варианта 5 и только.

Т.е. в случае выбора 1,2,3 или 5, выполняется только 1 из соответствующих вариантов, а в случае выбора варианта 4, у нас выполняется и операторы 4 варианта и операторы 5. Это произошло, потому что мы ключевое слово break, после оператора 4 варианта не написали. В принципе, если мы хотим разбить наши варианты на независимые друг от друга участки, то break обязательно надо писать после каждого варианта. Для того чтобы избежать вероятных ошибок. Отметим еще один момент. А именно, что вот эта переменная, которая у нас стоит внутри оператора switch, обязательно должна быть целочисленной, всякие другие варианты были не предусмотрены. Здесь нельзя использовать String, нельзя использовать другие числа и т. д., только лишь целое.

Операторы цикла for | TeachPro WEB-дизайн | Прерывание потока управления. оператор break