Java中基本数据类型与引用数据类型

Java中基本数据类型与引用数据类型

一、基本数据类型

Java中有八种基本数据类型,可以分为四类:

  • 整型:
类型字节整型长度默认值取值范围
byte1字节/0-128~127
short2字节短整型0-32768~32767
int4字节整型0-2147483648(-231)~2147483647(231-1)
long8字节长整型0-263~263-1
  • 浮点型:
类型字节精度默认值取值范围
float4字节单精度0.01.4E-45~3.4028235E38
double8字节双精度0.04.9E-324~1.7976931348623157E308
  • 字符型:
类型字节/默认值取值范围
char2字节存储单个字符\u00000~65535
  • 布尔型:
类型默认值取值
Booleanfalsetrue/false
二、引用数据类型

  引用数据类型指的是类、接口、数组等自己作为一种数据类型,由它们声明的对象的数据类型为引用数据类型,引用数据类型有很多,概括来说,除基本数据类型之外的都是引用数据类型。我们常用的String是一个类,所以String属于引用数据类型。

三、基本数据类型与引用数据类型

  那么基本数据类型与引用数据类型有什么区别呢, 我觉得最大的区别就是在内存中的存储不同。

  • 基本数据类型
    所有的基本数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面。
  • 引用数据类型
    引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。
    如下代码声明的数据
    int i = 100;
    double d = 3.14;
    String str1 ="hello";
    String str2 ="wkk";

  基本数据类型与引用数据类型在内存中的存储如下图

在这里插入图片描述
str1str2为“引用”,指向堆内存中对应值的内存地址
参考博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值