布尔运算符

来自ALSROBOT WiKi
跳转至: 导航搜索

它们可用于if语句中的条件

&& (逻辑与)
只有在两个操作数都为真时才返回真,例如:

if (digitalRead(2) == HIGH  && digitalRead(3) == HIGH) { // read two switches 
  // ...
} 

只在两个输入都为高时返回真


|| (逻辑或)
劝拿磐尼斯官网庖桓鑫媸狈祷卣妫纾

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

x或y劝拿磐尼斯官网庖桓龃笥0时返回真

! (非)
当操作数为假时返回真,例如:

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

若x为假返回真(即如果x等于0)


警告

确保你没有把布尔与运算符,&&(两个与符号)错认为按位与运算符&(单个与符号)。它们是完全不同的概念。

同样,不要混淆布尔或运算符||(双竖杠)与按位或运算符|(单竖杠)。

按位取反~(波浪号)看起来与布尔非!有很大不同(感叹号或程序员口中的“棒”),但是你仍然必须确保在什么地方用哪一个。


例如

 if (a >= 10 && a <= 20){}   // true if a is between 10 and 20