布爾運(yùn)算符

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索

它們可用于if語(yǔ)句中的條件

&& (邏輯與)
只有在兩個(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)


警告

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

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

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


例如

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