一、浮点类型

浮点类型就可以表示一个小数。

package demo01;

public class Points {
    public static void main(String[] args) {
        double a1 = 1.20;
    }
}

二、浮点数范围

java浮点常量 java浮点型_java

三、注意事项

1、与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。

2、Java的浮点型常量默认为double型,声明float型常量,须后加'f' 或'F'

package demo01;
public class Points {
    public static void main(String[] args) {
        float a1 = 1.1f;
        float a2 = 1.2F;
        double a3 = a1;
        System.out.println(a1);
        System.out.println(a2);
        System.out.println(a3);
    }
}

java浮点常量 java浮点型_java_02

 3、浮点型常量有两种表示形式

十进制数形式

package demo01;
public class Points02 {
    public static void main(String[] args) {
        double a1 = 5.12;
        double a2 = 512.0f;
        double a3 = .512;
        System.out.println(a1);
        System.out.println(a2);
        System.out.println(a3);
    }
}

科学计数法:

package demo01;
public class Points02 {
    public static void main(String[] args) {
        double a1 = 5.12e2;
        double a2 = 5.12E-2;
        System.out.println(a1);
        System.out.println(a2);
    }
}

java浮点常量 java浮点型_浮点_03

 4、通常情况下,应该使用double型,因为它比float型更精确。

package demo01;
public class Points02 {
    public static void main(String[] args) {
        double a1 = 2.123456789;
        float a2 = 2.123456789f;//精度会丢失
        System.out.println(a1);
        System.out.println(a2);
    }
}

java浮点常量 java浮点型_System_04

 5、两个浮点数比较时

package demo01;

public class Points02 {
    public static void main(String[] args) {
        double a1 = 2.7;
        double a2 = 8.1 / 3;
        //不能直接比较
        if (a1 == a2){
            System.out.println("两个数相等");
        }
        //可以用两数差范围比较
        if (Math.abs(a1 - a2) < 0.0001){
            System.out.println("两个数的相差不大");
        }
    }
}

java浮点常量 java浮点型_java浮点常量_05