Условный оператор if (англ. “если”) позволяет разветвлять выполнение программы в зависимости от логических величин, т.е. результатов работы операторов сравнения, которые мы рассмотрели выше, а также напрямую от логических переменных.
if (лог. величина) {
// выполняется, если лог. величина - true
}
Оператор else (англ. “иначе”) работает в паре с оператором if и позволяет предусмотреть действие на случай невыполнения if:
if (лог. величина) {
// выполняется, если лог. величина - true
} else {
// выполняется, если лог. величина - false
}
Также есть третья конструкция, позволяющая ещё больше разветвить код, называется она else if:
if (лог. величина 1) {
// выполняется, если лог. величина 1 - true
} else if (лог. величина 2) {
// выполняется, если лог. величина 2 - true
} else {
// выполняется иначе
}
Посмотрим на все эти операторы в действии в большом примере:
// при выполнения одного действия внутри условия, {} не обязательны
if (a > b) c = 10; // если a больше b, то c = 10
else c = 20; // иначе, то с = 20
// вместо сравнения можно использовать лог. переменную
bool myFlag, myFlag2;
if (myFlag) c = 10; // если myFlag true, то c присвоить 10
// сложные условия
if (myflag && myFlag2) c = 10; // если оба флага true, то c присвоить 10
// при выполнении двух и более действий внутри условия, {} обязательны!
if (myFlag)
{
с = 10;
b = c;
}
else
{
с = 20;
b = a;
}
int buttonState;
if (buttonState == 1) a = 10; // если buttonState 1
else if (buttonState == 2) a = 20; // если нет, но если buttonState 2
else a = 30; // если и это не верно, то вот
Вот так и работает условный оператор if, позволяя управлять программой и создавать разветвлённые действия в зависимости от разных условий. Обратите внимание на последний блок в примере выше, там где используется else if для выбора действия в зависимости от значения одной и той же переменной.