首页  

java有意思的陷阱     所属分类 java 浏览量 213
浮点数运算陷阱
直接上代码 及 输出结果

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 热加载 热部署