Конструкция if-else-if
Содержание
Поиск на других ресурсах:
1. Какая общая форма конструкции if-else-if?
Общая форма оператора if-else-if имеет вид:
if (условие1) оператор1; else if (условие2) оператор2; else ... if (условиеN) операторN; else оператор;
где
- условие1, условие2, …, условиеN – условное выражение, содержащее операции отношения;
- оператор, оператор1, оператор2, операторN – один или несколько операторов.
Конструкция if-else-if работает следующим образом. Если выполняется условие1, то выполняется оператор1. Если условие1 не выполняется, то происходит переход к проверке условия2. Далее так же, если выполняется условие2, то выполняется оператор2. В противном случае происходит переход к следующему условию. Если в процессе проверки не выполнится ни одно условие, тогда выполняется последний оператор.
Если после выполнения условия нужно выполнить несколько операторов, то они обрамляются блоком { }.
2. Какой управляющий оператор заменяется конструкцией if-else-if?
Конструкция вида if-else-if может заменять оператор выбора switch.
Например, фрагмент кода, который определяет выходной день или рабочий, можно реализовать с помощью оператора switch и конструкции вида if-else-if.
Решение с помощью оператора switch:
int day; boolean f_DayOff; day = 7; f_DayOff = false; // реализация с оператором switch switch (day) { case 1: f_DayOff = false; break; case 2: f_DayOff = false; break; case 3: f_DayOff = false; break; case 4: f_DayOff = false; break; case 5: f_DayOff = false; break; case 6: f_DayOff = true; break; case 7: f_DayOff = true; break; }
Решение задачи с использованием оператора if-else-if
int day; boolean f_DayOff; // ... f_DayOff = false; // конструкция if-else-if if (day==1) f_DayOff = false; else if (day==2) f_DayOff = false; else if (day==3) f_DayOff = false; else if (day==4) f_DayOff = false; else if (day==5) f_DayOff = false; else if (day==6) f_DayOff = true; else if (day==7) f_DayOff = true;
3. Примеры использования конструкции if-else-if
Пример 1. Разработать программу вывода названия месяца, если он задан целым числом от 1 до 12. В программе использовать оператор if-else-if.
Фрагмент кода, решающий данную задачу:
int month; // номер месяца String MONTH = ""; // название месяца // ввод month // ... if (month==1) MONTH = "January"; else if (month==2) MONTH = "February"; else if (month==3) MONTH = "March"; else if (month==4) MONTH = "April"; else if (month==5) MONTH = "May"; else if (month==6) MONTH = "June"; else if (month==7) MONTH = "July"; else if (month==8) MONTH = "August"; else if (month==9) MONTH = "September"; else if (month==10) MONTH = "October"; else if (month==11) MONTH = "November"; else if (month==12) MONTH = "December"; System.out.println(MONTH);
Пример 2. Разработать программу определения числа дней в месяце, если он задан номером от 1 до 12.
Фрагмент кода, решающий данную задачу
int month; int n_days; // ввод month // ... if ((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)) n_days = 31; else if (month==2) n_days = 28; else n_days = 30;
Пример 3. Дано целое число n (1 ≤ n ≤ 4) и вещественное число x. По данному значению переменной n, которое есть номером функции, определить:
- 1) cos x;
- 2) tg x;
- 3) sin x;
- 4) ctg x.
Фрагмент кода, решающий данную задачу:
int n; double f,x; // ввод x, n // ... if (n==1) f = Math.cos(x); else if (n==2) f = Math.tan(x); else if (n==3) f = Math.sin(x); else f = Math.cos(x)/Math.sin(x);