與c一樣,Java浮點數也有float,double兩種類型,但Java默認爲double,即若想把一個浮點類型當作float處理就應該在數值後緊跟f/F
Java浮點數有兩種表示形式:十進制形式與科學計數法,但需要注意的是隻有浮點類型的數據纔可用科學計數法表示,如6700是int類型的值,而67E2則是浮點類型的值。
java 提供了三種特殊的浮點數,即正無窮大(NEGATIVE_INFINITY),負無窮大(POSITIVE_INFINITY),非數(NaN)分別表示溢出與出錯;
正無窮大=正無窮大,負無窮大=負無窮大,但是NaN不與任何數值相等,自然也不等於非數
小例子
public class FloatTest
{
public static void main(String[] args)
{
float af=5.234556f;
System.out.println(af);
double a=0.0;
double c=Double.NEGATIVE_INFINITY;//負無窮大
float d=Float.NEGATIVE_INFINITY;
System.out.println(c==d);//double與float的負無窮大相等
System.out.println(a/a);//0.0/0.0=NaN
System.out.println(a/a==Float.NaN);//兩個非數不相等
System.out.println(6.0/0==555.0/0);//浮點數除以0的正無窮大或負無窮大,且無窮=無窮
System.out.println(-8/a);//負數除以0.0的負無窮
System.out.println(0/0);//0/0拋出除以0錯誤
}
}