java有意思的陷阱
所属分类 java
浏览量 1341
浮点数运算陷阱
直接上代码 及 输出结果
public class fun {
public static void main(String[] args) throws Exception {
// 0.3
System.out.println(0.1f+0.2f);
// 0.30000000000000004
System.out.println(0.1+0.2);
// 0.30000000000000004
System.out.println(0.1d+0.2d);
float a = 0.125f;
double b = 0.125d;
// true
System.out.println((a - b) == 0.0);
double c = 0.8;
double d = 0.7;
double e = 0.6;
// 0.10000000000000009
System.out.println(c-d);
// 0.09999999999999998
System.out.println(d-e);
// Infinity
System.out.println(1.0/0);
// NaN
System.out.println(0.0/0.0);
// The method f1(String) is ambiguous for the type
// f1(null);
// f1(String s) run
f1((String)null);
// f2(double d) run
f2(1);
// f2(double d) run
f2((int)1);
// f2(double d) run
f2((double)1);
// f2(Integer i) run
f2((Integer)1);
}
static void f1(String s){
System.out.println("f1(String s) run");
}
static void f1(Integer i){
System.out.println("f1(Integer i) run");
}
static void f2(double d){
System.out.println("f2(double d) run");
}
static void f2(Integer i){
System.out.println("f2(Integer i) run");
}
}
上一篇
下一篇
linux资源监控atop
linux运维知识点
java中创建对象的五种方式
synchronized知识点
TCP 重传 滑动窗口 流量控制 拥塞控制
tomcat 热加载 热部署