Оператор разветвления 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
здесь
- condition – некоторое условие, результат которого равен 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 в собственном блоке операторов может содержать другие сложные операторы, в том числе и операторы разветвления. Количество уровней вложений не ограничено и зависит от условия задачи и логических навыков программиста.
Пример.
'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
⇑
Связанные темы
⇑