布爾運(yùn)算符

來自ALSROBOT WiKi
2014年9月12日 (五) 13:28Admin討論 | 貢獻(xiàn)的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、 搜索

它們可用于if語句中的條件

&& (邏輯與)
只有在兩個(gè)操作數(shù)都為真時(shí)才返回真,例如:

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

只在兩個(gè)輸入都為高時(shí)返回真


|| (邏輯或)
任意一個(gè)為真時(shí)返回真,例如:

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

x或y任意一個(gè)大于0時(shí)返回真

! (非)
當(dāng)操作數(shù)為假時(shí)返回真,例如:

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

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


警告

確保你沒有把布爾與運(yùn)算符,&&(兩個(gè)與符號(hào))錯(cuò)認(rèn)為按位與運(yùn)算符&(單個(gè)與符號(hào))。它們是完全不同的概念。

同樣,不要混淆布爾或運(yùn)算符||(雙豎杠)與按位或運(yùn)算符|(單豎杠)。

按位取反~(波浪號(hào))看起來與布爾非!有很大不同(感嘆號(hào)或程序員口中的“棒”),但是你仍然必須確保在什么地方用哪一個(gè)。


例如

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