Java long資料型別


long資料型別是64位有符號的Java原始資料型別。當對整數的計算結果可能超出int資料型別的範圍時使用。
long資料型別範圍是-9,223,372,036,854,775,8089,223,372,036,854,775,807(-2^632^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型別的整數位麵量可以用八進位制,十六進位制和二進位制格式表示。 例如,

long  num1;
num1 = 25L;       // Decimal  format 
num1 = 031L;      // Octal format
num1 = 0X19L;     // Hexadecimal  format 
num1 = 0b11001L;  // Binary   format

long型別的整數位麵量分配給long型別的變數時,Java編譯器檢查要分配的值,並確保它在長資料型別的範圍內; 否則會產生編譯時錯誤。

注意,從intlong型別的賦值是有效的,因為儲存在int變數中的所有值都可以儲存在long型別的變數中。 然而,相過來就未必了,因為long型別資料比int型別範圍要大。所以不能簡單地將儲存在long變數中的值分配給int變數。存在值溢位的可能性。

要將long變數的值賦給int變數,請在Java中使用「轉換」表示,如下所示:

num1 = (int)num2;

Java有一個 Long 類,它定義了兩個常數來表示長資料型別Long.MAX_VALUELong.MIN_VALUE的最大值和最小值。