Java long数据类型

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的最大值和最小值。