КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Операторы if-else с несколькими ветвями
Методика, в которой значение переменной определяет, какой оператор (или составное выражение) из возможных следует исполнять, настолько распространена в программировании, что была выработана стандартизованная система создания структур if-else, реализующих эту функциональность. Результирующие структуры называются операторами if-elseс несколькими ветвями.
Оператор_if_else_с_несколькими_ветвями::=
if (<Логическое_выражение_1>) <Оператор_1> | <Составной_оператор_1>
else if (<Логическое_выражение_2>) <Оператор_2>; | <Составной_оператор_2>
else if (<Логическое_выражение_3>) <Оператор_3>; | <Составной_оператор_3>
else <Оператор_по_умолчанию>; | <Составной_оператор_по_умопчанию>
Рассмотрим пример. Разработать программу, которая идентифицирует введенное число, определяя, относится ли оно к диапазону целых чисел от 1 до 5. Если оно относится к этому диапазону, то это число выводится на консоль совместно с сообщением «Число принадлежит диапазону от 1 до 5», в противном случае выводится сообщение «Число не входит в указанный диапазон».
Оператор Switch Оператор switchпозволяет программе выбрать одно из нескольких действий на основе значения заданного выражения. Логика, реализуемая switch, подобна логике оператора if-else. Их сходства и отличия иллюстрируются примером. Рассмотрим программу, которая осуществляет различные арифметические действия в зависимости от названия действия. Например, если в командной строке написать «суммирование»,то программа вычислит сумму введенных чисел. Для реализации этой программы использовать оператор if else. using System; class calculator { public static void Main() { string operation;
int a, b, c; Console.WriteLine("Введите числа"); a=Convert.ToInt32(Console.ReadLine()); b=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите действие: сложение, вычитание, умножение, деление."); operation=Console.ReadLine(); if (operation=="сложение") Console.WriteLine("Сумма введенных чисел {0}",a+b); else if (operation=="вычитание") Console.WriteLine("Разность введенных чисел {0}",a-b); else if (operation=="умножение") Console.WriteLine("Произведение введенных чисел {0}",a*b); else if (operation=="деление") Console.WriteLine("Разность введенных чисел {0}",a/b); else Console.WriteLine("Введенная операция отсутствует"); Console.ReadLine(); } }
Оператор switchпозволяет кратко выразить логику оператора if-else, приведенного в примере, с помощью более жесткой структуры. Рассмотрим синтаксический блок оператора switch.
Switch (<Выражение для switch>) case <Константное выражение>: < Оператор1 >; < Оператор2>; ... < Оператор break>
case <Константное выражение>: < Оператор1 >; < Оператор2>; ... < Оператор break> ... default: < Оператор1 >; < Оператор2>; ... < Оператор break>
<Выражение для switch> - это управляющее выражение. сase, default – называются разделами выбора. <Константное выражение> - следует за ключевым словом case и называется case-значением или case-меткой. Причем, каждая из них должна быть уникальной. < Оператор break> - используется для завершения раздела выбора.
Примечание: 1. Количество блоков case не ограничено. 2. Блок default может быть один или не одного.
Напишем программу для предыдущего примера с использованием оператора switch.
using System; class calculator { public static void Main() { string operation; int a, b, c; Console.WriteLine("Введите числа"); a=Convert.ToInt32(Console.ReadLine()); b=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите действие: сложение, вычитание, умножение, деление."); operation=Console.ReadLine(); switch (operation) { case "сложение": Console.WriteLine("Сумма введенных чисел {0}",a+b); break; case "вычитание":
Console.WriteLine("Разность введенных чисел {0}",a-b); break; case "умножение": Console.WriteLine("Произведение введенных чисел {0}",a*b); break; case "деление": Console.WriteLine("Разность введенных чисел {0}",a/b); break; default: Console.WriteLine("Введенная операция отсутствует"); break; } Console.ReadLine(); } }
Когда поток управления переходит от одного раздела switch к другому, такое выполнение называется провалом. Для его предотвращения применяется оператор break. Рекомендации по использованию оператора switch Ниже приведены основные рекомендации по использованию оператора switch. Ограничение числа операторов в каждом разделе switch. Некоторые операторы switch содержат большое число разделов. Обилие операторов в них запутывает код. Поэтому сложные действия, требующие вызова большого числа команд, следует выносить в отдельные методы и вызывать их из разделов switch.
Упорядочение разделов по вхождению, номеру или символу (в алфавитном порядке). Простые операторы switch, представленные в примерах этого раздела, содержат небольшое число разделов, и их логику легко понять с первого взгляда. Однако многие конструкции switch могут быть достаточно протяженными, что значительно затрудняет их чтение, Схема, в которой метки case упорядочены, повышает читаемость кода. Существует несколько возможных схем: 1. Схема по вхождению — если те разделы switch, которые запускаются наиболее часто, расположены в начале, это упрощает восстановление логики кода. Кроме того, это ускоряет его, так как редко используемые блоки не будут обрабатываться при каждом проходе. 2. Схема в алфавитном или числовом порядке — для упрощения навигации по меткам желательно расположить их в алфавитном или числовом порядке.
Использование раздела default с той же целью, что и выражение по умолчанию в операторе if-else с несколькими ветвями. Обратимся к двум основным правилам, обсуждавшимся при рассмотрении оператора if-else с несколькими ветвями, о выражении по умолчанию, следующем за последним условием else. Они применимы и к разделу default оператора switch: 1. Раздел default следует использовать только для тех действий, которые должны выполняться по умолчанию. 2. Если он не используется, в нем следует обрабатывать ошибки.
Дата добавления: 2014-01-04; Просмотров: 720; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |