java八种基本数据类型+拆箱装箱

1、基本类型

Java中有8种基本类型,分为4类,分别为:
整型:包括  byte 、 short、 int 、 long
泛型:float、double
字符型:char

布尔型:boolean

2、基本类型长度及默认值

名称长度(字节)默认值取值范围
byte10-128~127
short20-32768 ~32767
int40-2147483648~2147483647
long80-9223372036854774808~9223372036854774807
float40.03.402823e+38~1.401298e-45(e+38 表示乘以10的38次方,而e-45 表示乘以10的负45次方
double80.01.797693e+308~4.9000000e-324
char2\u000
boolean官方没有明确定义长度flasetrue false

3、拆箱装箱

拆箱,即,把基包装类型转换为基本类型
装箱,即,基本类型转换为对应的包装类型。
如:Integer no = 1;  //自动装箱

Integer no2 = new Integer(2); //装箱
 自动装箱的实际操作对应 Integer.valueOf(1);
 在java文件生成class文件过程中会自动修改为Integer.valueOf(1),可以通过反编译工具查看。

4、注意事项

1)包装类型的比较不要使用==
   如  Integer no1=10;Integer no2 =10;  no1==no2;返回结果为true
       Integer no1=200;Integer no2 =200;  no1==no2;返回结果为false

Byte、Short、Integer、Long、Character的定义中都有一个缓存机制,-128~127对应的对象会缓存到缓存中,调用valueOf()方法时,会先判断数据是否在这个范围内,如果在范围内,返回缓存对象,如果超出范围,新建一个对象返回。
   所以在这个范围内的数值,用==比较会返回true。否则会引起一些间歇性的bug,很难定位。
2)java中的基本类型长度不会改变,在c、c++和c#中基本类型的长度会根据编辑器的位数变化,在java中不会变化。
 3)boolean官方没有规定长度,实际的占用空间长度和虚拟机有关系。
 4)基本类型在虚拟机中是存储在栈中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值