DigitalRead()
Оператор If
if (умова) та ==, !=, <, > (оператори порівняння)
if, використовується разом із операторами порівняння, перевіряє, чи виконується істинність умови, наприклад, чи перевищує вхідне значення задане число. Формат оператора if виглядає так:
if (someVariable > 50)
{
// виконувати дії
}
Програма перевіряє, чи значення someVariable більше, ніж 50, чи ні. Якщо так, то буде виконано певні дії. Іншими словами, якщо запис в круглих дужках є істинним, виконуються оператори всередині фігурних дужок. Якщо ні, програма пропускає цей код.
Дужки після оператора if можуть бути опущені. У такому разі тільки наступний рядок (позначений крапкою з комою) стає оператором, котрий виконується в операторі if.
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120){ digitalWrite(LEDpin, HIGH); }
if (x > 120){ digitalWrite(LEDpin1, HIGH); digitalWrite(LEDpin2, HIGH); } // все правильно
Вирази, котрі вираховуються всередині круглих дужок, можуть складатися з одного чи декількох операторів.
Оператори порівняння
x == y (x дорівнює y)
x != y (x не дорівнює y)
x < y (x менше ніж y)
x > y (x більше ніж y)
x <= y (x менше або дорівнює y)
x >= y (x більше або дорівнює y)
Увага!
Стежте, аби випадково не використати знак простої рівності (наприклад, if (x = 10)). Знак простої рівності - це оператор присвоєння, він встановлює значення х, що дорівнює 10 (заносить значення 10 у змінну х). Замість цього використовуйте знак подвійної рівності (наприклад, if (x == 10)), котрий є оператором порівняння і перевіряє, чи дорівнює х 10 чи ні. Останній з двох виразів буде істинним, тільки коли х дорівнюватиме 10, тоді як попередній вираз істинний завжди.
Це пов'язано з тим, що С обчислює вираз if (x=10) наступним чином: значення 10 присвоюється х (пам'ятаємо, що простий знак рівності - це оператор присвоєння), отже, х тепер дорівнює 10. Далі умовний if обчислює 10, котре вже дорівнює ІСТИНА, оскільки будь-яке число, що не дорівнює 0, дорівнює ІСТИНА. Тому if (x=10) завжди матиме логічне значення ІСТИНА, котре не є бажаним результатом під час використання оператора if. Окрім того, змінній х буде присвоєно значення 10, що також не є бажаним.
If також може бути частиною розгалуженої керівної конструкції з використанням if...else.
