Тип даних “bool” генерує логічно true або false.
Логічні/булеві оператори
Логічні/булеві вирази
if(<boolean expressions>) { .....<block> }
<boolean expressions>
міститиме одиничний або складний вираз для оцінки. <block>
означає блок коду, який буде виконано, лише якщо <boolean expressions>
буде оцінено як істинне.
Більше логічних виразів:
Логічний вираз | Що це значить |
якщо (x == 10) | якщо х дорівнює 10 |
якщо (x <= 10) | якщо x менше і дорівнює 10 |
якщо (x > 10 || y > 20) | якщо x більше 10 або y більше 20 |
якщо (x <= 10 && y <= 20) | якщо x<=10 і y<=20 |
якщо !(x > 10 || y > 20) | якщо x<=10 іy<=20 |
якщо ( !( x <=10 || x >=20) ) | Якщо x>10 іx<20 |
Будьте особливо обережні при використанні булевих виразів!
Логічний тип (bool) — це просте ціле число.
Давайте подивимося, як інтерпретується , якщо (... )
:
-
, якщо (...)
буде обчислено компілятором; воно створює значення істинного чи хибного. - Істина полягає в тому, що коли ( ... ) створює щось інше, ніж 0 (тобто нуль),
якщо ( .... )
означатиме істину. - Отже: такі вирази завжди вірні:
- якщо (1)
- якщо ( 10 )
- якщо ( будь-який результат відмінний від нуля)
Поширені помилки, на які варто звернути увагу:
приклад 1:
int X = 10, Y=20; if (X = Y) brain.Screen.print("X і Y однакові."); else brain.Screen.print("X і Y різні.");
Результат: X і Y однакові.
чому
, якщо (X = Y)
дійсно означає:
- Призначте Y до X, щоб X мав значення 20
- Компілятор інтерпретує це так, ніби (20), де (20) є істинним, а не (0).
приклад 2:
int X = 0, Y=0; if (X = Y) brain.Screen.print("X і Y однакові."); else brain.Screen.print("X і Y різні.");
Результат: X і Y різні.
чому
, якщо (X = Y)
дійсно означає:
- Призначте Y до X, щоб X мав значення 0 (нуль).
- Компілятор інтерпретує це як: (0) як false.