对于int和long,没有真正的区别,因为它们都处理整数.
这是因为9是低于10的下一个有效值.
但是对于浮点数,双精度数和其他可以保持小于整数的值的类型,存在很大差异.
考虑一下这两个案例如何处理这些数字:
float a = 9.0
float b = 10.0
float c = 9.5
编辑:
在第一种情况下if(val <10):
a < 10 ... true
b < 10 ... false
c < 10 ... true
第二种情况if(val <= 9):
a <= 9 ... true
b <= 9 ... false
c <= 9 ... false
这就是假设您最终得到“干净”的数字,并且不会引入舍入或除法错误,例如9.99999999999和10.000000000001,通过您可能正在执行的任何计算.
比较浮点数时,您应该使用该类的内置比较方法.
a.compare(value) < 0 ... true if 'a' is smaller than 'value'
a.compare(value) > 0 ... true if 'a' is bigger than 'value'
a.compare(value) == 0 ... true if 'a' is equal to 'value'