当前位置:
IT大杂烩
>
JavaScript
> Java中long和Long赋值加L
Java中long和Long赋值加L
www.someabcd.com 网友分享于:Jun 8, 2018 9:29:04 AM
在Java中执行如下的代码: long number = 26012402244; 编译的时候会出现一个错误,提示“过大的整数: 32322355744”,如果在Eclipse中书写上面的代码,提示的是“The literal 26012402244 of type int is out of range”。可以看出,在Java代码中直接书写的数字是int类型的,就是说数字的范围在 -2^31 到 2^31 - 1 这个范围之中,无论将这个数字赋值给什么类型。 不过有的时候需要直接赋值大的数字,比如在测试的时候。这个时候可以使用Long.parseLong()转换下就可以啦。这个时候可以这样赋值: long number = 26012402244L; Java的数据类型分两种: 1.基本类型:long,int,byte,float,double,char 2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,String,其它一切java提供的,或者你自己创建的类。 其中Long又叫 long的包装类。 什么叫包装类? 在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。 比如我们也可以定义一个类: class Long { int i=0; public Long (int i){ this.i=i; } } 这样这个Integer就是一个包装类,他包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值: Long it=new Long(10); 现在变量it就是一个对象,不是一个数字。 long l1 = 10000000000L;(内存机制) 实际上内存中l1只是一个long类型的变量,它存在于向stack(栈)中,数值并不在其中存放,它指向heap(堆)中另一块真正存放数值的内存,加L的目的就是为了让heap中也创建一块long类型所需要的内存,用来来放数值。 所以说=前后两者其实是在不同的两块内存,只不过有个无形的指针将两者连接起来了。 java程序 long l1=12345678,l2=8888888888L; 这里12345678后面不需要加L,为什么? 类型自动转换
发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。