—— 本文參照 Learn Java for Android Development (第三版)
** 相等操作符**
這里說的相等操作符包括等于(==)和不等于(!=)這兩個操作符。這兩個操作符是用來判斷兩個操作數(shù)是否相等的,如果兩個操作數(shù)相等的話==操作符就返回true,如果兩個操作數(shù)不相等的話!=操作符就返回true。例如2 == 2 和 2 != 3都返回true,2 == 4 和 4 != 4都返回false。
如果判斷兩個浮點(diǎn)數(shù)是否相等的時候我們必須要小心,例如System.out.println(0.3 == 0.1 + 0.1 + 0.1)這應(yīng)該打印什么?如果你覺得打印結(jié)果是true的話,那就錯了哦,因為正確的打印結(jié)果應(yīng)該是false。
以上的表達(dá)式簡直是太不直觀了,想知道為什么打印結(jié)果是false嗎?這是因為0.1在內(nèi)存里面其實(shí)并不是以0.1的形式存在的,如果我們把3個0.1相加以后就能看出來,我們可以這樣測試一下System.out.println(0.1+ 0.1 + 0.1);把這個結(jié)果打印出來會發(fā)現(xiàn)結(jié)果是0.30000000000000004,也就是說結(jié)果真的并不等于0.3。
如果我們比較的是兩個對象,那么運(yùn)算的時候?qū)嶋H比較的不是操作數(shù)的內(nèi)容,而是將對象引用進(jìn)行比較。比如我們比較"abc" == "xyz"的時候并不是將a和x進(jìn)行比較的,而是直接比較兩個字符串對象。至于對象是什么會在后面的章節(jié)里面進(jìn)行介紹。
Page 62