русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Условная инструкция switch()


Дата добавления: 2015-06-12; просмотров: 1067; Нарушение авторских прав


 

— Утром деньги — вечером стулья. Вечером деньги — утром стулья.

— А можно так: утром стулья — вечером деньги?

— Можно! Но деньги вперед!

Из к/ф «Двенадцать стульев»

 

Обычно к услугам условной инструкции switch() прибегают в случае, когда при проверке условия альтернатив больше, чем две. Эту инструкцию еще называют инструкцией выбора. Синтаксис вызова инструкции switch() следующий:

switch(условие){ case значение_1:

//команды_1 brake;

case значение_2:

//команды_2 brake;

...

case значение_N:

//команды_N brake; default:

//команды

}

После ключевого слова switch в круглых скобках указывается переменная или выражение, значение которого проверяются (условие). Возможные значения, которые может принимать условие, перечисляются после ключевых слов case. Каждому значению соответствует свой блок case. Каждый блок case заканчи- вается инструкцией break. Последним блоком в инструкции switch() являет- ся блок команд, выполняемых по умолчанию. Блок выделяется инструкцией default(). Блок не является обязательным, и инструкцию break в конце этого блока размещать не нужно. Наконец, все блоки case и блок default, если он есть, заключаются в фигурные скобки. Именно эти фигурные скобки определяют тело инструкции switch().

Алгоритм выполнения инструкции switch() следующий. Сначала вычисляется выражение или значение переменной, указанной в качестве условия. Затем вы- численное значение последовательно сравнивается со значениями, указанными после инструкций case, пока не будет найдено совпадение или не встретится блок default (если блок default отсутствует, то пока не будет достигнут конец тела инструкции switch()). Если совпадение найдено, начинает выполняться программный код соответствующего блока case. Код выполняется до конца тела инструкции switch() или break(). Собственно, инструкции break в блоках case и нужны для того, чтобы остановить выполнение программного кода инструк-




 

ции switch(). В противном случае продолжали бы выполняться следующие бло- ки case.

Выражение, которое указывается в качестве проверяемого условия, может воз- вращать в качестве значения целое число или символ. Значения, указываемые после инструкций case(), должны быть литералами или константами. Пример использования инструкции switch приведен в листинге 2.4.

 

Листинг 2.4.Использование инструкции switch()

class UsingSwitch{

public static void main(String[] args){

char s='П';

System.out.print("Фамилия пользователя: ");

// Инструкция выбора:

switch(s){

case'И': System.out.println("Иванов"); break;

case'П': System.out.println("Петров"); break;

case'С': System.out.println("Сидоров"); break;

default:

System.out.println("Не определена");

}

System.out.println("Программа завершила работу!");

}

}

В методе main() класса UsingSwitch объявляется переменная s типа char. Значе- нием переменной является начальная буква фамилии пользователя. Рассматри- вается три варианта: буква И соответствует фамилии Иванов, буква П соответству- ет фамилии Петров и буква С соответствует фамилии Сидоров.

Командой System.out.print("Фамилия пользователя: ") выводится сообщение, при- чем переход на следующую строку не осуществляется — в этом главное отли- чие метода print() от метода println(). Далее с помощью инструкции switch() осуществляется перебор значений переменной s. Если совпадение найдено, выводится соответствующая фамилия. Если совпадение не найдено, командой System.out.println("Не определена") выводится сообщение Не определена. В конце выполнения программы выводится сообщение об окончании работы. Для значе- ния переменной s='П' результат выполнения программы будет иметь вид:

Фамилия пользователя: Петров Программа завершила работу!


 

Обращаем внимание, что, во-первых, значением переменной s может быть ки- риллическая буква, во-вторых, регистр буквы имеет значение — если переменной s присвоить значение 'п', результат выполнения программы будет следующим: Фамилия пользователя: Не определена

Программа завершила работу!

Чтобы фамилия определялась независимо от регистра буквы, рассмотренную программу нужно несколько видоизменить. Модифицированный ее вариант при- веден в листинге 2.5.

 

Листинг 2.5.Пустые блоки в инструкции switch

class UsingSwitch2{

public static void main(String[] args){

char s='п';

System.out.print("Фамилия пользователя: ");

// Инструкция вывода:

switch(s){

case'И':

case'и': System.out.println("Иванов"); break;

case'П':

case'п': System.out.println("Петров"); break;

case'С':

case'с': System.out.println("Сидоров"); break;

default:

System.out.println("Не определена");

}

System.out.println("Программа завершила работу!");

}

}

В данном случае использованы пустые блоки case. Пример:

case'П':

case'п':

...

В этом случае, если значение проверяемой переменной (в данном случае пере- менной s) совпадает с буквой 'П', выполняется код вплоть до первой инструк- ции break, то есть такой же код, как и для случая, когда переменная s имеет значение 'п'.


 



<== предыдущая лекция | следующая лекция ==>
Условная инструкция if() | Инструкция цикла for()


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.235 сек.