Конструкція 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 MONTH = "December"; System.out.println(MONTH);
Приклад 2. Розробити програму визначення кількості днів у місяці, якщо він заданий номером від 1 до 12.
Фрагмент коду, що розв’язує дану задачу
int month; int n_days; // ввід month // ... n_days = 30; 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);