【java基础1】八种基本数据类型

java的八种基本数据类型。

序号基本数据类型长度对应的包装器类型最大存储量取值范围
1byte1字节Byte255-128~127
2short2字节Short63336-32768~32767
3int4字节Integer232-1-231~231-1
4long8字节Long264-1-263~263-1
5float4字节Float-3.4E38~3.4E38
6double8字节Double-1.7E308~1.7E308
7char2字节Character存储unicode码
8booleanBooleantrue或者false

为什么要给每一个基本类型再配一个包装器类型呢?这是因为java作为一种面向对象的编程语言,但基本类型并不具有对象的性质,所以就有了包装器类型, 相当于将基本类型“包装”起来,为其添加属性和方法,使其具有对象的性质。所以说,包装器类型实际上就是有一些特殊的引用数据类型,都是基类Object的孩子。

那就说说基本数据类型和引用数据类型的区别。

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

一、声明方式不同

声明基本数据类型的变量不需要实例化:

int a = 10; // 给a赋值为10
byte b; // 只声明不赋值
char c = '哇';

而声明对象时需要用new来实例化:

Integer a = new Integer(10);
List<MyObject> = new List();

包装器类型和其他类型相比,有一点不同之处就是它还可以像基本数据类型那样赋值,而不用显式地去new:

Integer a = 10;
Character c = '哇';

上述写法就是java中的装箱和拆箱,写在下一篇吧。

二、存储方式不同

上面说到,引用数据类型的变量在声明时,需要用new去实例化一个对象,所谓的实例化,就是在堆内存中分一块空间用以存储数据,至于要分多大一块,就看这个引用数据类型是怎么定义的了。

不论是基本数据类型还是引用数据类型,声明变量时都会在栈内存中占用一块空间,不同的是,基本数据类型的变量所占用的那块空间里面的内容,就是该变量的值,而引用数据类型的变量所占用的那块空间的内容,是实例化的对象在堆内存的地址

就是说,栈内存中同样的一串二进制字符串“0000 1111”,如果占用它的是基本数据类型的变量a,a就会知道“哦我的值是15”,但如果占用它的是引用数据类型的变量myObject,它就不会觉得自己是15,而是认为“哦我的值是堆内存里地址为00001111的空间中存放的内容”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值