Оператор розгалуження if-else. Скорочена форма if. Сходинкова форма if-else-if. Вкладені оператори
Зміст
- 1. Види операторів розгалуження
- 2. Скорочена форма if
- 3. Повна форма if-else
- 4. Сходинкова форма if-else-if. Приклад
- 5. Вкладені оператори if. Приклад
- Споріднені теми
Пошук на інших ресурсах:
1. Види операторів розгалуження
У мові JavaScript оператори розгалуження дозволяють виконувати послідовності операцій (дій) в залежності від виконання (не виконання) деякої умови. Синтаксично оператори розгалуження в JavaScript нічим не відрізняються від таких самих операторів інших C-орієнтованих мов таких як C++, C#, Java.
Оператори розгалуження типу if-else мають 3 різновиди або форми:
- скорочену форму if;
- повну форму if-else;
- сходинкову (каскадну) форму if-else-if.
⇑
2. Скорочена форма if
При скороченій формі оператор if не використовує ключового слова else і виглядає наступним чином:
if (condition) statement
або
if (condition) {
statement1
statement2
...
statementN
}
тут
- condition – деяка умова, яка повертає значення true або false;
- expression – вираз, що виконується якщо condition = true;
- expression1, expression2, expressionN – вирази, які виконуються якщо condition = true.
Якщо condition = false, то оператори statement, statement1, statement2, statementN не виконуються і програма переходить до оператора, який слідує після виконання оператора if. Таким чином, програма нічого не виконує.
Якщо при виконанні умови condition потрібно виконати декілька операторів то ці оператори об’єднуються в блок операторів з допомогою фігурних дужок { }.
Приклад.
// Оператор if. Скорочена форма var a = 8, b = 5 // Одна умова if (a > b) console.log("a>b"); if (a == b) console.log("a==b"); if (a < b) console.log("a<b") // Декілька умов var month = 5 if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month = 12)) console.log("31 days") if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) console.log("30 days") if (month == 2) console.log("28 (29) days")
Результат
a > b 31 days
⇑
3. Повна форма if-else
Друга форма оператора розгалуження виглядає наступним чином
if (condition) statement1 else statement2
тут
- conditon – деяка умова, результат якої рівний true або false;
- statement1 – оператор, який виконується якщо condition = true;
- statement2 – оператор, що виконується якщо condition = false.
Якщо при виконанні або не виконанні умови потрібно виконати декілька операторів, то ці оператори беруться в блок фігурних дужок { }. У цьому випадку один з можливих варіантів вигляду оператора може бути таким
if (condition) { // Statements // ... } else { // Statements // ... }
Приклад.
'use strict'; // Оператор if-else. Повна форма. // Розв'язок квадратного рівняння // 1. Задано деякі коефіцієнти var a = 8, b = 5, c = -4 // 2. Обчислити дискримінант var D = b * b - 4 * a * c // 3. Визначити корені рівняння if (D < 0) console.log("Рівняння немає коренів") else { var x1 = (-b - Math.sqrt(D)) / (2 * a) var x2 = (-b + Math.sqrt(D)) / (2 * a) console.log("x1 = " + x1) console.log("x2 = " + x2) }
Результат
x1 = -1.0855823048033113 x2 = 0.4605823048033113
⇑
4. Сходинкова форма if-else-if. Приклад
Сходинкова форма оператора умовного переходу дає можливість перебрати усі можливі варіанти виключаючи їх накладання. Сходинкова форма подібна до операції АБО. Виконується тільки один з варіантів.
Загальна форма оператора if-else-if наступна:
if (condition1) statement_1 else if (condition2) else statement_2 else ... if (conditionN) statement_N else statement_N+1
тут
- condition1, condition2, conditionN – деякий умовний вираз, який повертає значення true або false;
- statement1, statement2, statementN – один або декілька операторів, які виконуються якщо один з виразів condition1, condition2, conditionN приймають значення true.
Якщо замість statement1, statement2, statementN потрібно виконати декілька операторів тоді ці оператори потрібно взяти в фігурні дужки { }.
Приклад.
'use strict'; // Оператор if-else-if. Сходинкова форма // За номером пори року вивести назву цієї пори року // 1. Задано номер пори року (1..4) var season = 2 // 2. Використати оператор if-else-if if (season == 1) console.log("Winter") else if (season == 2) console.log("Spring") else if (season == 3) console.log("Summer") else if (season == 4) console.log("Autumn") else console.log("Incorrect number of season")
Результат
Spring
⇑
5. Вкладені оператори if. Приклад
Оператори розгалуження можуть бути вкладеними. Це означає, що один оператор if, if-else чи if-else-if у власному блоці операторів (statement) може містити інші складні оператори, в тому числі й оператори розгалуження. Кількість рівнів вкладень необмежена і залежить від умови задачі та логічних навичків програміста.
Приклад.
'use strict'; // Вкладені оператори розгалуження // Визначити середнє мід трьома числами // 1. Задано 3 числа, які не рівні між собою var a = 3, b = 2, c = 1 var avg // 2. Використати вкладені оператори if if (a > b) { if (a > c) { // a - max if (b > c) avg = b else avg = c } else // c - max avg = a } else { // a < b if (b > c) { if (a > c) avg = a else avg = c } else avg = b } console.log("avg(" + a + ", " + b + ", " + c + ") = " + avg)
Результат.
avg(3, 2, 1) = 2
⇑
Споріднені теми
- Оператор switch
- Оператори мови JavaScript. Класифікація операторів
- Пріоритет операторів
- Спеціальні оператори
⇑