Урок 2. Операторы условного перехода

Вычислительный процесс можно направить по тому или иному пути в зависимости от того, выполняется ли некоторое условие или нет.

Оператор if (если)

Синтаксис:

if (условие) 
	{ код, который выполняется, если условие выполнено }
else
	{ код, который выполняется, если условие не выполнено }

Часть этой конструкции, определяемая ключевым словом else (иначе), необязательна.

<script>
	num = 10
	if (num < 50)
		alert("Мало!")
	else
		alert("Много!")
</script>

В примере выводится диалоговое окно с тем или иным сообщением в зависимости от значения переменной num.

Вопросы и задания

  1. Как переводится слово if? else?
  2. Перепишите код.
  3. Почему при выполнении кода выводится надпись "Мало!", а не "Много!"?
  4. Измените код так, чтобы появлялась надпись "Много!".

Оператор switch (переключатель)

Синтаксис:

switch (выражение) {
	case значение1:
		код
		[break]
	case значение2:
		код
		[break]
	...
	[default:
		код]
}

Сначала вычисляется выражение, указанное в круглых скобках сразу за ключевым словом switch. Полученное значение сравнивается с тем, которое указано в первом варианте. Если они не совпадают, то код этого варианта не выполняется и происходит переход к следующему варианту. Если же значения совпали, то выполняется код, соответствующий этому варианту. При этом, если не указан оператор break, то выполняются блоки кода всех остальных (расположенных ниже) веток case.

<script>
	x = 2
	switch (x) {
		case 1:
			alert("Мало!")
		case 2:
			alert("Средне!")
		case 3:
			alert("Много!")
	}
</script>

В приведенном примере сработали 2 и 3 варианты. Если мы хотим, чтобы сработал только вариант, который соответствует значению выражения, то нужно использовать оператор break.

<script>
	x = 2
	switch (x) {
		case 1:
			alert("Мало!")
			break
		case 2:
			alert("Средне!")
			break
		case 3:
			alert("Много!")
			break
	}
</script>

Вопросы и задания

  1. Перепишите первый пример кода с оператором switch. Запустите сценарий. Какие сообщения появились? Почему?
  2. Добавьте в каждую ветку оператор break. Для чего он используется?
  3. Измените код так, чтобы выводилось только первое сообщение.