“布尔运算符”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
(以“它们可用于if语句中的条件<br> <b>&& (逻辑与)</b><br> 只有在两个操作数都为真时才返回真,例如:<br> <pre style="color:green"> if ...”为内容创建页面)
 

2014年9月12日 (五) 13:28的最后版本

它们可用于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