一、继承关系图
二、Float类介绍
1、属性
// 保存正无穷大的常量
public static final float POSITIVE_INFINITY = 1.0f / 0.0f;
// 保存负无穷大的常量
public static final float NEGATIVE_INFINITY = -1.0f / 0.0f;
// 保存非数字的常量
public static final float NaN = 0.0f / 0.0f;
// 最大正数
public static final float MAX_VALUE = 0x1.fffffeP+127f; // 3.4028235e+38f
// 最小正法线数
public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f
// 最小正数
public static final float MIN_VALUE = 0x0.000002P-126f; // 1.4e-45f
// 最大指数
public static final int MAX_EXPONENT = 127;
// 最小指数
public static final int MIN_EXPONENT = -126;
// bit数
public static final int SIZE = 32;
// byte数
public static final int BYTES = SIZE / Byte.SIZE;
public static final Class<Float> TYPE = (Class<Float>) Class.getPrimitiveClass("float");
2、方法
public static String toString(float f) {
return FloatingDecimal.toJavaFormatString(f);
}
返回字符串形式。
public static String toHexString(float f) {
if (Math.abs(f) < FloatConsts.MIN_NORMAL
&& f != 0.0f ) {// float subnormal
// Adjust exponent to create subnormal double, then
// replace subnormal double exponent with subnormal float
// exponent
String s = Double.toHexString(Math.scalb((double)f,
/* -1022+126 */
DoubleConsts.MIN_EXPONENT-
FloatConsts.MIN_EXPONENT));
return s.replaceFirst("p-1022$", "p-126");
}
else // double string will be the same as float string
return Double.toHexString(f);
}
算了,忘记了Float和Double表示方法了,复习完计组再来写吧。