基本数据类型和引用数据类型的区别

一.数据类型

java中的数据类型包括基本数据类型和引用数据类型两种。

1.基本数据类型

基本数据类型包括8种,单位bit,取值范围固定,变量名储存的是值,其中

带符号的有:

·整数类型:byte、short、int、long|8 16 32 64

·浮点数类型:float、double|32 64

不带符号的有:

·字符类型:char |16 因为Java在内存中总是使用Unicode表示字符,所以,一个英文字符和一个中文字符都用一个char类型表示,它们都占用两个字节

·布尔类型:boolean | true or false

2.引用数据类型

引用数据类型,取值范围不固定,变量名储存的是地址

·字符串:string

3.区别

·基本数据类型在比较时是值之间的比较,而引用数据类型在比较时比较的是地址。

·第一个输出true的原因是因为系统默认会把字符串引用的值作为常用词放在内存中,当再次引用这个词的时候直接指向内存中已有的常用词,也就是指向同一个地址,这样就不用新开辟一个空间了,这样避免了内存空间的浪费。

·第二个输出false的原因是我们主动用代码另外开辟了一个内存空间存放新词,但这两个空间的地址不一样,而比较引用数据类型的时候比较的是地址,所以结果是false。

·第三个输出false的原因是因为词的值不一样,一个大写一个小写。

下面利用画图来解释一下基本数据类型和引用数据类型在内存中存储的区别

 如图左图是基本数据类型的存储方式,变量名直接存储值,而右图引用数据类型的存储方式则是变量名存储地址,再由地址指向值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值