“布尔运算符”的版本间的差异
来自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