Java double數據類型


double數據類型使用64位來存儲浮點數。double值也稱爲雙精度浮點數。

它可以表示一個最小爲4.9 x 10^-324,最大爲1.7 x 10^308的數字。它可以是正的或負的。

所有實數被稱爲double字面量。 double字面量可以可選地以dD結尾,例如1.27d

後綴dDdouble字面量中是可選的。19.719.7d代表相同的double字面量。

Double字面量

double字面量值可以用以下兩種格式表示:

  • 十進制數字格式
  • 科學計數法

十進制數字格式的double字面量值示例如下:

double   d1  = 8D ;
double   d2  = 8.; 
double   d3  =  8.0; 
double   d4  =  8.D; 
double   d5  =  78.9867; 
double   d6  =  45.0;

8是一個int字面量,而8D88.0double字面量。

還可以使用科學記數法表達double字面量。

double   d1  = 32.5E-1; 
double   d2  = 0.325E+1; 
double   d3  = 0.325E1; 
double   d4  = 0.0325E2; 
double   d5  = 0.0325e2; 
double   d6  = 32.5E-1D; 
double   d7  = 0.325E+1d; 
double   d8  = 0.325E1d; 
double   d9  = 0.0325E2d;

注意:double數據類型定義了兩個零,兩個無窮大和一個NaN。 它們由Double類中的常量表示。

下表列出了這些常量及其含義。

常量 含義
Double.POSITIVE_INFINITY 正無窮大的double類型
Double.NEGATIVE_INFINITY 負無窮大的double類型
Double.NaN 不是double類型的數值
Double.MAX_VALUE 可在double類型變量中表示的最大正值,等於1.7 x 10^308
Double.MIN_VALUE 大於零的最小正值,可在double類型變量中表示。等於4.9×10^-324。

可以將所有整型類型(intlongbyteshortchar)和float的值分配給double類型雙精度數據類型的變量,而不使用顯式強制轉換。

int num1 = 15;
double   salary = num1;                    
salary = 12345;                            
double   bigNum = Double.MAX_VALUE;  
bigNum = 1234L;                      
double   justAChar = 'A';      

double   dInf = Double.POSITIVE_INFINITY;
double   dNan = Double.NaN;

在將double值分配給任何整數數據類型(intlongbyteshortchar)的變量之前,必須將其轉換爲整數類型。