比较
Java提供了六个关系运算符:
== 相等
!= 不相等
> 大于
>= 大于或等于
< 小于
<= 小于或等于
"注意"其中有两个字符的运算符:==、>=和<=的两个字符必须紧紧连在一起,中间不能插入空格。
关系运算的结果是一个逻辑值,逻辑值只有两种可能的值:true(真,表示成立)或false(假,表示不成立)。当两个值的关系符合关系运算符的预期时,关系运算的结果为true,否则为false。
注意
所有的关系运算符的优先级比算术运算的低,比赋值运算的高
判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的
5>3==6>4 // 相当于 true==true
6>5>4 // java语法中是错误的,相当于 true>4
a==b==6 // 错误的
a==b==true //正确的
a==b>false //错误的
(a==b)>false //错误的 true false无法比较
Int VS Double?
int a=5;
double b=5.0;
System.out.println(a==b);
运行结果
true
but
Double VS Double?
double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
运行结果
false
正确的表达方式
System.out.println(Math.abs(a-b)<1e-6); //(a-b)的绝对值<e*10的-6次方
运行结果
true
小结 求两个浮点型数的比较时要用
Math.abs(a-b)<1e-6