ПРОГРАММИРОВАНИЕ ПОД IPHONE, IPAD OBJECTIVE-C Часть 1

Условный оператор

Условный оператор (условная инструкция) или как его чаще называют оператор ветвления служит для выполнения команды (набора команд) только при определенном условии.

<code data-result="[object Object]">// age это целочисленная переменная, хранящая возраст пользователя
if (age &gt; 30) { // Символ &gt; означает "больше чем"
    NSLog(@"Старше 30 лет.");
}
NSLog(@"Завершено.");</code>

Первая строка начинается со специального ключевого слова if это и есть условный оператор. За ней в скобках следует само логическое выражение. Если это выражение является верным — выполняется код внутри фигурных скобок. Таким образом строка «Старше 30 лет.» будет выведена в консоль, если age больше 30. Однако последняя строка будет выведена на консоль независимо от условия, потому как находится она за фигурными скобками. Полная конструкция условного оператора выглядит так:

<code data-result="[object Object]">// age это целочисленная переменная, хранящая возраст пользователя
if (age &gt; 30) {
    NSLog(@"Старше 30 лет.");
} else {
    NSLog(@"Моложе 30 лет.");
}
NSLog(@"Завершено.");</code>

else — это ключевое слово, обеспечивающее выполнение кода в случае не выполнения условия. Строка «Моложе 30 лет.» может быть выведена только в том случае, если условие age > 30 не выполняется.

Помимо тех операторов, которые приведены выше, возможно применение следующих операторов сравнения числовых значений:

== равенство
> больше чем
< меньше чем
>= больше или равно

!= не равно

Учтите, что оператор равенства это двойной знак равенства. Это легко забыть и пользоваться одним знаком равенства по привычке. Но одиночный знак равенства это оператор присваивания, который выполнит присваивание следующего по коду выражения, что является причиной проблем и кода, содержащего ошибки, у новичков.
Давайте внимательнее взглянем на то, как происходит сравнение. Операция сравнения возвращает только одно из двух значений — истину или ложь.
В Objective-C истину или ложь можно представить тремя видами. Чтобы обозначить значение «истина» можно использовать 1, YES или true, соответственно для значения «ложь» — 0, NO или false.
Можно проверять и больше условий. Если должны выполняться два и более условия, используется логический оператор И, представляемый двумя сиволами амперсанда &&. Если должно выполняться хотя бы одно условие, используйте логический оператор ИЛИ, представляемый двумя символами вертикальной черты ||.

<code data-result="[object Object]">if ( (age &gt;= 18) &amp;&amp; (age &lt; 65) ) {
    NSLog(@"Скорее всего приходиться работать.");
}</code>

Кроме того, можно объединять условные выражения. Нужно всего лишь заключить одно выражение в фигурные скобки другого. Сначала будет проверено условие снаружи, а затем, если оно верно, следующее выражение внутри, и так далее:

<code data-result="[object Object]">if (age &gt;= 18) {
    if (age &lt; 65) {
        NSLog(@"Скорее всего приходиться работать.");
    }
}</code>

В конце хотелось бы рассказать о сокращенной конструкции условного оператора:

<code data-result="[object Object]">//Полная
if (age &gt; 30) {
    str = @"Старше 30 лет.";
} else {
    str = @"Моложе 30 лет.";
}

//Сокращенная
str = age &gt; 30 ? @"Старше 30 лет." : @"Моложе 30 лет.";</code>

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

Comments are closed.