Java8 基础数据类型包装类-Double

基础

//final修饰不可更改
public final class Double extends Number implements Comparable<Double> {}

常量

//保存 double 类型的正无穷大值的常量。它等于 Double.longBitsToDouble(0x7ff0000000000000L) 返回的值
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
//持有double类型的负无穷大的double 。 它等于Double.longBitsToDouble(0xfff0000000000000L)返回的值。 
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
//一个常数,持有double类型的非数字(NaN)值。 它相当于返回的值Double.longBitsToDouble(0x7ff8000000000000L) 。
public static final double NaN = 0.0d / 0.0;
//恒定持有double类型的最小正正常值,2 -1022 。 它等于十六进制浮点数文字0x1.0p-1022 ,也等于Double.longBitsToDouble(0x0010000000000000L) 
public static final double MIN_NORMAL = 0x1.0p-1022; // 2.2250738585072014E-308
//一个常数保持最小的正非零值类型double -1074 。 它等于十六进制浮点数文字0x0.0000000000001P-1022 ,也等于Double.longBitsToDouble(0x1L)
public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324
//最大指数有限的double变量可能有。 它等于Math.getExponent(Double.MAX_VALUE)返回的值。 
public static final int MAX_EXPONENT = 1023;
//最小指数归一化double变量可能有。 它等于Math.getExponent(Double.MIN_NORMAL)返回的值
public static final int MIN_EXPONENT = -1022;
//用于表示 double值的位数
public static final int SIZE = 64;
//用于表示 double值的字节数。
public static final int BYTES = SIZE / Byte.SIZE;

继承
抽象类Number
获取包装类与基本类型之间的转换值,short、int、long、byte、float、double。
实现
Comparable 接口
实现compareTo(T o)方法

方法

转字符串

//如果参数是NaN,结果是字符串“ NaN ”。
//如果m是无穷大,它由字符"Infinity" ; 因此,正无穷大产生结果"Infinity"和负无穷大产生结果"-Infinity" 。 
//如果m为零,则由"0.0" ; 因此,负零产生结果"-0.0" ,正零产生结果"0.0" 。 
//如果m大于或等于10-3但小于10 7 ,则表示为m的整数部分,以十进制形式表示,不带前导零,后跟“ . ”( '\u002E' ),后跟一个或多个表示m的小数部分十进制数字。 
//如果m小于10 -3或大于或等于10 7 ,则表示为所谓的“计算机科学记数法”。
public static String toString(double d) {}
//转成16进制字符串
public static String toHexString(double d) {}
//同toString(double d)
public String toString() {}

Double,double,String三者转换

//十进制和16进制的字符串都可以
public static Double valueOf(String s) throws NumberFormatException {}
public static Double valueOf(double d) {}
//十进制和16进制的字符串都可以
public static double parseDouble(String s) throws NumberFormatException {}

判断

//是否是数字类型
public static boolean isNaN(double v) {}
public boolean isNaN() {}
//是否是无限大的数,正无穷或负无穷
public static boolean isInfinite(double v) {}
public boolean isInfinite() {}
//如果参数是有限浮点值,则返回true ; 返回false (对于NaN和无穷大参数)。
public static boolean isFinite(double d) {}

Double转基本数据类型

public byte byteValue() {}
public short shortValue() {}
public int intValue() {}
public long longValue() {}
public float floatValue() {}
public double doubleValue() {}

double,long互转

//根据IEEE 754浮点“双格式”位布局返回指定浮点值的表示
public static long doubleToLongBits(double value) {}
//根据IEEE 754浮点“双格式”位布局返回指定浮点值的表示
//与doubleToLongBits方法不同, doubleToRawLongBits不会将编码NaN的所有位模式折叠到单个“规范”NaN值。 
public static native long doubleToRawLongBits(double value);
public static native double longBitsToDouble(long bits);

比较,求和,最大最小值

public int compareTo(Double anotherDouble) {}
//返回-1,1,0(-1表示y大,1表示x大)
//Double.NaN被认为是等于本身并且大于所有其他double值(包括Double.POSITIVE_INFINITY )。 
//0.0d被认为是大于-0.0d 。
public static int compare(double d1, double d2) {}
//比较无符号位数值大小
public static double sum(double a, double b) {}
public static double max(double a, double b) {}
public static double min(double a, double b) {}

猜你喜欢

转载自blog.csdn.net/u012562117/article/details/79062045
今日推荐