Java的比较常用来作为判断输入输出或者循环的条件,判断的本质是关系运算。
但有时比较两数是否相等时会遇到悖论,例如:
1与0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1是否相等?
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);
System.out.println(b);
运行结果如上图所示,可以看到b因是浮点数的原因,比较判断的结果并不相等,所以一般在判断两个数值是否相等的时候用下面所示的语句
System.out.print(Math.abs(a-b)<1e-6)
Java当中的判断语句与C语言相似,不多赘述。