Навігація
Головна
 
Головна arrow Інформатика arrow Об'єктно-орієнтоване програмування
< Попередня   ЗМІСТ   Наступна >

ОПЕРАТОР SWITCH

Приватним, але важливим випадком вибору з декількох варіантів є ситуація, коли вибір варіанта визначається значеннями деякого виразу. У цьому випадку використовується оператор switch: switch (виpaжeніe)

{

case константное_вираженіе_1:

[Оператори_1 оператор_перехода_1]

case константное_вираженіе_К:

[Оператори_К оператор_перехода_К]

[Default: оператори_N оператор_перехода_N]

}

Гілка default може бути відсутнім. Синтаксично допустимо, щоб після двокрапки слідувала порожня послідовність операторів, а не послідовність, що закінчується оператором переходу. Вирази зі сталими в case повинні мати той же тип, що і switch- вираз.

Оператор switch працює наступним чином. Спочатку обчислюється значення switch-виразу. Потім воно по черзі (в порядку проходження case) порівнюється на збіг з константними виразами. Як тільки досягнуто збіг, виконується відповідна послідовність операторів case-гілки. Оскільки останній оператор цієї послідовності є оператором переходу (найчастіше це оператор break), то зазвичай він завершує виконання оператора switch. Якщо значення switch-виразу не збігається ні з одним константним виразом, то виконується послідовність операторів гілки default, якщо ж такої гілки немає, то оператор switch еквівалентний порожньому оператору.

Відзначимо, що case-вирази можуть бути тільки константними виразами. наприклад:

public void Starosta (string group) {string stud; switch (group) {case "8551":

stud = "Іванов С.П."; break;

case "8552":

stud = "Сидоров А.І."; break;

case "8553":

stud = "Петров BT"; break;

default:

stud = "не визначений"; break;

}

Console.WriteLinefCTapocTa групи {0} - {1} ", group, stud);

}

Однак, якщо потрібно перевірити потрапляння значення змінної в певний діапазон, то доводиться використовувати оператор if для формування спеціальної змінної. Наприклад: int period = 0;

if ((age> 0) && (age <7)) period = 1; else if ((age> = 7) && (age <17)) period = 2; else if ((age> = 17) && (age <22)) period = 3; else period = 4;

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук