CodeGym /Java Blog /Toto sisi /Java 雙關鍵字
John Squirrels
等級 41
San Francisco

Java 雙關鍵字

在 Toto sisi 群組發布
Java 的double關鍵字,和其他任何語言一樣,表示一種表示浮點數的計算機格式,在內存中佔用64 位,即8 個字節。在本文中,我們將討論 double 並查看一些示例。

浮點數和計算:簡短的數學描述

小數是定點數或浮點數。第一個選項可以表示為常規分數,其中分子(數字本身)和分母(其比例因子)將是整數。例如,數字 2.7 是 27,比例因子是 10,3.14 - 314,比例因子是 100。但是,從計算的角度來看,這種方法不是很準確,因此,他們經常使用浮點表示。在計算中,浮點運算是實數的一種特殊算術表示,作為支持範圍和精度之間權衡的近似值。在 Java 中表示浮點數的主要格式稱為 float。它的名字來自浮點數。浮點數為 32 位,其中 1 位為符號位,8 位指數,23 位尾數。它的範圍是±3。40282347E + 38F 即 6-7 位有效數字。double 這個名字來自 double float。這double類型的大小是float的兩倍:8 個字節對 4 個字節。它也稱為雙精度實數。在為雙精度數保留的 64 位中,1 位是符號位,11 位是指數,52 位是尾數。Java分數存儲範圍為 ±1.79769313486231570E + 308 的數字,即 15-16 位有效數字。 Double是一種更精確的格式。因此,如果您需要存儲非常大的數字,最好選擇double而不是float。順便說一下,sqrt、sin 或 cos 等數學方法以及許多其他方法會返回雙精度值。但是,您應該為內存的雙精度付出代價。

創建雙變量

精度類型用於存儲實數。要在代碼中創建一個能夠存儲實數的變量,您需要使用以下命令:

double name;
其中name是變量的名稱。

double myPrice;  //here we create a variable called myPrice
double action; //and here -- action. 
您還可以使用速記來創建多個double類型的變量:

double name1, name2, name3;

Java 雙關鍵字示例

讓我們給出一些使用 Java double關鍵字創建變量的示例。

double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
在變量myPrice中,我們的值為 5.0,在變量height 中為 180,在x中,我們將值 7.1 和 3.0 放入y中。

雙倍為整數

在 Java 中,double變量既可以賦實數也可以賦整數。分配整數時,只需將它們轉換為實數。儘管有時可能會出現輕微的精度損失。

double height = 180;
int k = 2; 
int i = 5; 
double myDouble = k*i;
實際上,height變量存儲的是數字 180.0,而myDouble變量存儲的是數字 10.0。

雙整數交互

另外,如果某個表達式中涉及整數和實數,則先將整數轉換為實數,然後再與另一個實數進行交互。

public class DoubleDemo {
   public static void main(String[] args) {
       int k = 2;
       double myDouble1 = 5;
       double myDouble = k*7.0;
       System.out.println(myDouble1);
       System.out.println(k*myDouble1);
       System.out.println(myDouble);
   }
}
在此示例中,輸出將是:
5.0 10.0 14.0
儘管數字myDouble1表示為 5 而不是 5.0,但 Java 將此數字視為double,因此它實際上看起來像 5.0。如果我們將 int 和 double 相乘,我們總是得到一個double,即使實際上這個數字是一個整數。我們可以將double類型的變量分配給int類型的變量。為此,您需要進行顯式類型轉換。當然,小數部分會被捨棄,數字會被截斷為更小的整數。

public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
輸出是:
57
最後,我們來談談分裂。這是最有趣的事情。你可能已經遇到這樣一個事實,如果你除以兩個整數,那麼作為除法的結果,我們得到一個整數,即使它們不能被彼此整除:

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
結果是:
3.0
這是因為 Java 機器首先將兩個整數相除(得到 3),然後將這個值存儲在一個 double 類型的變量中,結果得到 3.0。要得到的不是整數,而是通常的除法,你需要作弊。例如,將其中一個數字寫成實數(然後整個表達式自動轉換為實數)。如果我們使用整數類型的變量,那麼它們可以乘以 1.0。這不會更改值,但會將變量的類型從int更改為double

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7.0/2;
       int x = 5;
       int y = 2;
       System.out.println(myDouble);
       System.out.println(x*1.0/y);
   }
}
輸出是:
3.5 2.5
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION