比較運(yùn)算符

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

if,用于和比較運(yùn)算符聯(lián)合使用,測(cè)試某一條件是否到達(dá),例如一個(gè)輸入超出某一數(shù)值。if條件測(cè)試的格式:

if (someVariable > 50)
{
  // do something here
}
 

該程序測(cè)試someVariable是否大于50。如果是, 程序執(zhí)行特定的動(dòng)作。換句話說(shuō),如果圓括號(hào)中的語(yǔ)句為真,花括號(hào)中的語(yǔ)句就會(huì)運(yùn)行。否則,程序跳過(guò)該代碼。

if語(yǔ)句后的花括號(hào)可能被省略。如果這么做了,下一行(由分號(hào)定義的行)就會(huì)變成唯一的條件語(yǔ)句。

if (x > 120) digitalWrite(LEDpin, HIGH); 

if (x > 120)
digitalWrite(LEDpin, HIGH); 

if (x > 120){ digitalWrite(LEDpin, HIGH); } 

if (x > 120){ 
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH); 
}                                 // all are correct

圓括號(hào)中被求值的語(yǔ)句需要使用一個(gè)或多個(gè)運(yùn)算符:


比較運(yùn)算符:

 x == y (x is equal to y)
 x != y (x is not equal to y)
 x <  y (x is less than y)  
 x >  y (x is greater than y) 
 x <= y (x is less than or equal to y) 
 x >= y (x is greater than or equal to y)
 

警告:

小心偶然地使用單個(gè)等號(hào)(例如if(x = 10))。單個(gè)等號(hào)是賦值運(yùn)算符,這里設(shè)置x為10(將值10存入變量x)。改用雙等號(hào)(例如if (x == 10)),這個(gè)是比較運(yùn)算符,用于測(cè)試x是否等于10。后者只在x等于10時(shí)返回真,但是前者將總是為真。

這是因?yàn)镃如下求值語(yǔ)句if(x=10):10分配給x(切記單個(gè)等號(hào)是賦值運(yùn)算符),因此x現(xiàn)在為10。然后'if'條件求值10,其總是為真,由于任何非零數(shù)值都為真值。由此,if (x = 10)將總是求值為真,這不是使用if語(yǔ)句所期望的結(jié)果。另外,變量x將被設(shè)置為10,這也不是期望的操作。

if也可以是使用[if...else]的分支控制結(jié)構(gòu)的一部分。