java中long类型的取值范围到底是多少呢?

Python01018

java中long类型的取值范围到底是多少呢?,第1张

范围:-9223372036854775808到9223372036854775807

解释:long类型是64位的也就是 ”-2^64“ 到”2^64 -1“.

在定义long类型时,如果数据类型超过int类型的取值范围,数据后面要加l或L,不超过则不需要加。

byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)

short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)

int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)

long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)。

long是基本类型,Long是类类型。实质是一样的,表示长整型。

long a = 123L

Long b = new Long(123)

不过,你可以混用,Java会自动转换两种类型,专业术语叫装箱/拆箱。

a = a + b

long和Long的区别,可以从以下几点进行区分:

二者的定义是不同的,小写的long指的是基本类型,大写的Long指的是对象类型又称为包装类。

虽然二者均属于Java的一种数据类型,但是long这一基本数据类型是不能new一个对象的,为了弥补Java这方面的缺陷,因此就出现了Long包装类这一对象数据类型,可以说对象类型是对基本类型的一大补充。

小写的long有默认值(),object一般默认为null,所以大写的Long中出现的一些方法就是为了满足小写long的需求。

区分二者的方法:

牢记二者的定义,利用定义去区分;

多多运用这两个数据类型,在练习中熟练掌握两个数据类型;

多参与项目实战,在实战项目中积累经验,对二者进行区分。

备注:在使用这两个数据类型的时候会用到泛类,所以一定要掌握泛类的一些规定:

泛型的参数类型也可以是通配符类型;

同一种泛型可以对应多个版本,但是不同版本的泛型类之间是不能兼容的。