Java基本——数据类型

java的基本数据类型:

数据类型位数说明
byte8bit

包装类:Byte

缓存池范围:所有byte的值

char2byte

包装类:Character

缓存池范围:\u0000 ~ \u007F

short2byte

包装类:Short

缓存池范围: -128 ~ 127

int4byte

包装类:Integer;

Integer默认缓存池范围-128~127

(可以通过jvm设置大小)

 -XX:AutoBoxCacheMax=<size> 

float4byte 
double8byte 
long8byte 
boolean~

只有两个值,可以使用1bit实现,具体长度没有说明。boolean类型在编译期转换成int,boolean数组,在编译期转换成byte数组

缓存池范围:true, false

 

数字类型转换:

高精度-》低精度转换,不能使用隐式转换

低精度-》高精度 可以隐式转换

6中数字类型精度高低顺序:double > long > float > int > short > byte

自动拆装箱:

 对于封装类型,由于缓存池的存在,对象在不同的值范围时可能会存在不同的地址结果。

例:

Integer a1 = new Integer(12);

Integer a2 = new Integer(12);

System.out.println(a1 == a2);//false,直接从对内存创建对象,不走缓存池

Integer m1 = Integer.valueOf(12);

Integer m2 = Integer.valueOf(12);

System.out.println(m1 == m2);//true

Integer n1 = Integer.valueOf(128);

Integer n2 = Integer.valueOf(128);

System.out.println(n1 == n2);//false, -128~127在缓存池,128不在默认缓存池

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值