public class FloatTest {
public static void main(String[] args)
{
//浮點型數據必須包含小數點,否則會當作int處理
//浮點型默認是double型的,默認是64位的,所以定義float類型是,必須在最后加f表示float型
float f = 5.0f;
float af = 5.123456789f;
double df = 5.12345678987654321;
//浮點數是使用二進制數據的科學計數法表示,所以不可能精確表示一個浮點數.下面將看到的值已經發生了改變
System.out.println("af="+af);
System.out.println("df="+df);
//result:af=5.123457,df=5.123456789876543
double a = 0.0;
double c = Double.NEGATIVE_INFINITY;
float d = Float.NEGATIVE_INFINITY;
//看到float和double的負無窮大的是相等的。
System.out.println(c == d);
//0.0除以0.0將出現非數
System.out.println(a / a);
//兩個非數之間是不相等的
System.out.println(a / a == Float.NaN);
//所有正無窮大都是相等的
System.out.println(6.0 / 0 == 555.0/0);
//負數除以0.0得到負無窮大
System.out.println(-8 / a);
System.out.println(0.0 / 0.0);
//result:NaN
//下面代碼將拋出除以0的異常
System.out.println(0 / 0);
}
}