問題闡述
運(yùn)算符=與==在程序中經(jīng)常使用,請簡述運(yùn)算符=與==有什么區(qū)別?
解答
這兩個(gè)運(yùn)算符經(jīng)常被混淆,很多程序開發(fā)人員在相等條件判斷時(shí)使用了賦值運(yùn)算符,即=符號(hào),從而造成程序錯(cuò)誤,所以關(guān)于這兩個(gè)運(yùn)算符的面試題出現(xiàn)的幾率很高。=是賦值運(yùn)算符,用于為變量或常量賦值,而==則是表示相等關(guān)系的關(guān)系運(yùn)算符,通常用于進(jìn)行條件判斷。
賦值運(yùn)算符:
賦值運(yùn)算符=是雙目運(yùn)算符,其作用就是為變量賦值,符號(hào)是=及其擴(kuò)展運(yùn)算符+=、-=、*=、/=、%=、&=和^=等。其中=用于把右邊表達(dá)式的值賦值給左邊的變量;而擴(kuò)展運(yùn)算符的作用是用左邊變量的值和右邊表達(dá)式的值進(jìn)行相應(yīng)運(yùn)算后,再把運(yùn)算結(jié)果賦值給左邊的
變量。
例如:
long
len=5000; //把 5000 賦給變量 len,所以 len 的值是 5000
len+=500; //相當(dāng)于
len=len+500,所以 len 的值是 5500
關(guān)系運(yùn)算符。
關(guān)系運(yùn)算符用于比較兩個(gè)值的大小關(guān)系,運(yùn)算結(jié)果是邏輯值真(true)或邏輯值假(false)。關(guān)系運(yùn)算符包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)6
個(gè)。。關(guān)系運(yùn)算符的用法和說明如表 3.2 所示。
表 3.2 關(guān)系運(yùn)算符的用法及說明
點(diǎn)評(píng)
該問題主要考查讀者對(duì) Java
基礎(chǔ)知識(shí)的掌握程度,對(duì)于初學(xué)者來說,在進(jìn)行等于條件判斷時(shí),經(jīng)常使用賦值運(yùn)算符=對(duì)兩個(gè)表達(dá)式進(jìn)行大小比較,這就導(dǎo)致條件判斷出錯(cuò),因為進(jìn)行條件判斷時(shí),表示相等關(guān)系應(yīng)該使用關(guān)系運(yùn)算符==,這也是初學(xué)者經(jīng)常犯的錯(cuò)誤,
例如判斷
a 與 b 相等關(guān)系的正確寫法是 if(a==b){},而初學(xué)者經(jīng)常會(huì)寫成 if(a=b){},這樣程序就會(huì)出錯(cuò)。