—— 本文参照 Learn Java for Android Development (第三版)
** 相等操作符**
这里说的相等操作符包括等于(==)和不等于(!=)这两个操作符。这两个操作符是用来判断两个操作数是否相等的,如果两个操作数相等的话==操作符就返回true,如果两个操作数不相等的话!=操作符就返回true。例如2 == 2 和 2 != 3都返回true,2 == 4 和 4 != 4都返回false。
如果判断两个浮点数是否相等的时候我们必须要小心,例如System.out.println(0.3 == 0.1 + 0.1 + 0.1)这应该打印什么?如果你觉得打印结果是true的话,那就错了哦,因为正确的打印结果应该是false。
以上的表达式简直是太不直观了,想知道为什么打印结果是false吗?这是因为0.1在内存里面其实并不是以0.1的形式存在的,如果我们把3个0.1相加以后就能看出来,我们可以这样测试一下System.out.println(0.1+ 0.1 + 0.1);把这个结果打印出来会发现结果是0.30000000000000004,也就是说结果真的并不等于0.3。
如果我们比较的是两个对象,那么运算的时候实际比较的不是操作数的内容,而是将对象引用进行比较。比如我们比较"abc" == "xyz"的时候并不是将a和x进行比较的,而是直接比较两个字符串对象。至于对象是什么会在后面的章节里面进行介绍。
Page 62