再开始之前,如果需要可以理解一下浮点数在电脑中的存储格式
可以看一下这一篇理解浮点数,用IEEE 754 标准表示浮点数,存储浮点数
说在前面
实现了 Serializable, Comparable 接口
继承自 java.lang.Number
属性
1. 静态常量 SIZE :用来表示双精度值的位数(public static final int SIZE = 64;)
2. 静态常量 BYTES :用来表示双精度值的字节数 (public static final int BYTES = SIZE / Byte.SIZE;)
3. 静态常量 TYPE :表示基本类型double的类实例 (public static final Class<Double> TYPE = (Class<Double>) Class.getPrimitiveClass("double");)
4. 静态常量 MIN_EXPONENT :标准化double变量可能具有的最小指数 (public static final int MIN_EXPONENT = -1022;)
5. 静态常量 MAX_EXPONENT : a finite double变量可能具有的最大指数 (public static final int MAX_EXPONENT = 1023;)
6. 静态常量 MIN_VALUE :一个常数,保存double的最小的非零正值2^-1074 (public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324)
7. 静态常量 MIN_NORMAL :一个常量,保存类型为double的最小正数2^-1022 (public static final double MIN_NORMAL = 0x1.0p-1022; // 2.2250738585072014E-308)
8. 静态常量 MAX_VALUE :一个double类型的最大正有限值(2-2^-52)·2^1023 (public static final double MAX_VALUE = 0x1.fffffffffffffP+1023; // 1.7976931348623157e+308)
9. 静态常量 NaN :一个double类型的非数(NaN)值 (public static final double NaN = 0.0d / 0.0;)
10. 静态常量 NEGATIVE_INFINITY :一个double类型的负无穷常数 (public static final double NEGATIVE_INFINITY = -1.0 / 0.0;)
11. 静态常量 POSITIVE_INFINITY :一个double类型的正无穷常数 (public static final double POSITIVE_INFINITY = 1.0 / 0.0;)
方法
构造方法:
1. public Double(double value)
2. public Double(String s) throws NumberFormatException :用双浮点数的字符串构造对象
静态方法:
3. static int compare(double d1, double d2) :比较两个双精度值是否相等
4. static long doubleToLongBits(double value) :根据 IEEE 754 浮点双精度格式 ("double format") 位布局,返回指定浮点值的表示形式。
5. static long doubleToRawLongBits(double value) :同上,但是保留NaN的格式。
6. static int hashCode(double value)
7. static boolean isFinite(double d) :如果参数是一个有限浮点值则返回true;否则返回false
8. static boolean isInfinite(double v) :如果指定的数字是无限大的,则返回true,否则返回false
9. static boolean isNaN(double v) :如果指定的数字是非数值(not-a-number),则返回true,否则返回false
10. static double longBitsToDouble(long bits) :返回与位表示形式对应的双精度值
11. static double max(double a, double b) :返回两个双精度值中较大的一个,类似于调用Math.max。
12. static double min(double a, double b) :返回两个双精度值中较小的一个,类似于调用Math.min。
13. static double parseDouble(String s) :返回一个新的double,初始化为指定字符串所表示的值,由double类的valueOf方法执行。
14. static double sum(double a, double b) :按照+操作符将两个双精度值相加。
15. static String toHexString(double d) :返回double参数的十六进制字符串表示形式。
16. static String toString(double d)
17. static Double valueOf(double d) :返回表示指定双精度值的双精度实例。
18. static Double valueOf(String s) :返回一个Double对象,该对象保存由参数字符串s表示的Double值。
一般方法:
19. byte byteValue() :窄化原始类型转化后,返回此Double类型的值作为字节(就是将一个64位的double值转换为8位的字节值)。
20. int compareTo(Double anotherDouble) :比较当前对象和所给参数的Double对象的数值。 返回 零,两个对象值相等;负数,当前对象小;整数,当前对象大。
21. double doubleValue() :返回Double对象的值
22. boolean equals(Object obj) :比较当前对象与指定对象是不是同一个Double对象。
23. float floatValue() :窄化原始类型转化后,返回此Double类型的值作为float类型。
24. int hashCode()
25. int intValue() :窄化原始类型转化后,返回此Double类型的值作为int类型。
26. boolean isInfinite() :判断Double对象是否是无限大,无限大返回true;
27. boolean isNaN() :判断该Double对象是否是非数(NaN),非数返回true;
28. long longValue() :窄化原始类型转化后,返回此Double类型的值作为long类型。
29. short shortValue() :窄化原始类型转化后,返回此Double类型的值作为short类型。
30. String toString() :返回一个字符串表示Double对象。