布尔运算符可用于if语句中的条件

&& (逻辑与)
只有在两个操作数都为真,返回值为真,运行if中的语句。例如:

if (digitalRead(2) == HIGH  && digitalRead(3) == HIGH) { // 读取两个按键值
  // ...
}

只有在两个输入值都为高时,返回值为真。

|| (逻辑或)
任意一个为真,返回值为真,运行if中的语句。例如:

if (x > 0 || y > 0) {
  // ...
}

x或y任意一个大于0,返回值为真

! (非)
当操作数为假时,返回值为真,运行if中的语句。例如:

if (!x) {
  // ...
}

若x为假时,返回值为真。(即如果x=0)

【警告】

  1. 希望你没有把**与(&&)按位与(&)**混淆。它们是完全不同的两个概念。

  2. 不要搞错或(||)按位或(|)

  3. **按位取反(~)看起来和非(!)**有很大不同,但是使用的时候也还是想清楚该怎么用。

【示例】

 if (a >= 10 && a <= 20){}   //判断a是否在10和20之间

【更多可见】
按位与(&)
按位或(|)
按位非(~)
比较运算符

翻译自:Arduino Language Reference

<File:nextredirectltr.png>返回Arduino语法手册首页

<File:nextredirectltr.png>更多建议,指正,或者文档分享欢迎进入DF创客社区