Логические операторы И (&&), ИЛИ (||)

На этом занятии Вы узнаете:

  1. Для чего и где используются логические операторы И, ИЛИ
  2. О правильном использовании комбинации этих операторов

C помощью условных операторов в ActionScript 3 можно тестировать на истинность не только одно значение или выражение, но и сразу несколько. Для этого используют логические операторы. К примеру, блок определенных инструкций будет исполнен, если совпадут два или более условий или хотя бы одно из заданных условий окажется истинным.

Логический оператор И ( && ) используется для тестирования на истинность двух и более условий. Например, Вы хотите проверить корректны ли значения введенных логина "myLogin" и пароля "12345", то Вы можете записать

if( login == "myLogin" && password == "12345" )

Обратите внимание на то, что оба условия должны быть истинными. Если одно из них будет ложным (false) — например, логин будет корректным, а пароль ошибочным — тогда все выражение тоже будет ложным.

Если же Вы допускаете, чтобы хотя бы одно из условий может быть истинным, тогда используйте логический оператор ИЛИ ||:

if( country == "Россия" || capital == "Москва" )

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

Логический оператор ИЛИ записывается с помощью двух вертикальных черточек ||. На большинстве компьютерных клавиатур клавиша с этим символом находится сразу над клавишей ввода команд (Enter).

Проверка нескольких условий с помощью логических операторов И, ИЛИ

Создайте переменную

var myPic:String = "mypic.jpg";

Введите if()

if()

Внутри круглых скобок введите первое условие для проверки

myPic.indexOf("jpg") != -1

Введите логический оператор ИЛИ ||, а затем введите второе условие для проверки

myPic.indexOf("gif") != -1

(Как работает и для чего нужен метод indexOf() читайте в уроке о методах поиска букв или частей текста внутри строк)

После круглых скобок наберите две фигурных и уже внутри них запишите команду, которая выполнится, если проверка окажется истинной. Например:

trace("Формат фотографии JPG или GIF.");

У Вас должно получиться, примерно, следующее:

Логические операторы И, ИЛИ

Нажмите Ctrl + Enter.

Итак, эта фраза появится в панели Output поскольку значение переменной myPic содержит символы jpg, следовательно проверяемое условие будет оценено как истинное.

Вывод в панели Output

Дополнительная информация

Вы можете тестировать более чем два условия, комбинируя логические операторы && и || . Например:

if( num1 == num2 || num2 > num3 && num3 < num4 )

Однако, Вам необходимо запомнить следующее: если вы используете такие операторы вместе, то сначала будут оцениваться операторы И &&, а затем только опереторы ИЛИ ||. Поэтому, записанное выражение будет читаться в следующем порядке:

"Если num2 больше чем num3 И num3 меньше чем num4, ИЛИ если num1 равна num2."

Часто, порядок в таких выражениях не имеет значения, но не забывайте об этом, когда он действительно важен. В противном случае будут ошибки, которые потом не легко обнаружить.

Если Вам необходимо, чтобы сначала оценивался логический оператор ИЛИ, то Вы можете поместить выражение с ним в скобки:

if(( num1 == num2 || num2 > num3 ) && num3 < num4 )