long
資料型別是64
位有符號的Java
原始資料型別。當對整數的計算結果可能超出int
資料型別的範圍時使用。long
資料型別範圍是-9,223,372,036,854,775,808
至9,223,372,036,854,775,807
(-2^63
至2^63-1
)。
long
資料型別範圍內的所有整數稱為long
型別的整數位面量。long
型別的整數常數總是以大寫L
或小寫l
結尾。
以下是使用long
型別的整數位面量的範例:
long num1 = 0L;
long num2 = 4L;
long mum3 = -3;
long num4 = 8;
long num5 = -1L;
long
型別的整數位麵量可以用八進位制,十六進位制和二進位制格式表示。 例如,
long num1;
num1 = 25L; // Decimal format
num1 = 031L; // Octal format
num1 = 0X19L; // Hexadecimal format
num1 = 0b11001L; // Binary format
當long
型別的整數位麵量分配給long
型別的變數時,Java編譯器檢查要分配的值,並確保它在長資料型別的範圍內; 否則會產生編譯時錯誤。
注意,從
int
到long
型別的賦值是有效的,因為儲存在int
變數中的所有值都可以儲存在long
型別的變數中。 然而,相過來就未必了,因為long
型別資料比int
型別範圍要大。所以不能簡單地將儲存在long
變數中的值分配給int
變數。存在值溢位的可能性。
要將long
變數的值賦給int
變數,請在Java中使用「轉換」表示,如下所示:
num1 = (int)num2;
Java有一個 Long
類,它定義了兩個常數來表示長資料型別Long.MAX_VALUE
和Long.MIN_VALUE
的最大值和最小值。