Java基础(四):基础数据类型和包装类

一.java基本数据类型

数据类型大小/位包装类默认值范围
byte(位)8Byte0-128~127
short(短整数)16Short0-32768~32767
int(整数)32Integer0 
long(长整数)64Long0 
float(单精度)32Float0.0 
double(双精度)64Double0.0 
char(字符)16Char0~65535
boolean8Booleanfalsetrue或false

二.基本数据类型的使用场景

1.byte:用于在大型数组中节约空间,用来代替整型,因为byte类型只占8位,占int类型的4分之1;

2.short:像byte类型一样节约空间,当大型数组中的元素值大小超过了byte类型却小于int类型,则用short类型存储,short类型占用的空间只有int类型的二分之一;

3.int:一般整型变量默认为int型;

4.long:用于存储数值超过int类型范围的值;

5.float:用于存储大型浮点数组的时候可节省内存空间;

6.double:浮点数默认类型为double类型;

7.char:char数据类型可以存储任何字符;

8.boolean:作为一种标志来记录 true/false 情况;

注意:①float和double类型不能用来表示精确的值,如货币;②为long类型的变量赋值时要在值后面加上'L',为float类型的变量赋值时要在值后面加上'f'。

三.基本数据类型和包装类的区别

1.包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是;

2.包装类型是引用的传递,基本类型是值的传递;

3.声明方式不同:基本数据类型不需要new关键字;包装类需要new在堆内存中分配内存空间;

4.存储位置不同:基本数据类型直接将值保存在值栈中;包装类型是把对象放在堆中,然后通过对象的引用来调用他们;

5.初始值不同:基本数据类型int的初始值0,boolean的初始值是false;包装类型的初始值为null;

6.使用方式不同:基本数据类型直接赋值使用就好;包装类型是在集合如collectionMap时使用;

四.类型转换

1.转换规则

(1)不能对boolean数据类型进行转换;

(2)不能把对象类型转为不相关类对象;

(3)容量大的数据类型转换为容量小的数据类型时,必须用强制类型转换;

(4)转换过程中,可能会导致内存溢出或者损失精度;

(5)浮点数到整数的转换是舍去小数位,并不是四舍五入;

2.自动类型转换:需要满足的条件:转换前的类型所占的位数小于转换后的类型所占的位数,例如:short类型占16位,就可以自动转换成32为的int型。

3.强制类型转换:需要满足的条件:①转换的数据类型必须是兼容的;②格式:(type)value,type是要强制类型转换后的数据类型。

4.隐含类型转换

①整数的默认类型是int型;

②浮点数默认是double型,但是定义并初始化float类型变量的时候,值后面必须跟上F或者f。

五.拆箱和装箱

在JavaSE5之前,如果要生成数值为10的Integer对象,需要这么做:

Integer integer = new Integer(10);

而在JavaSE5之后,提供了自动装箱的功能,如果要生成数值为10的Integer对象,只需要这么做:

Integer integer = 10;

这样写会触发自动装箱,直接根据数值创建integer对象,而不用new操作。那么,拆箱是什么样的呢?像下面就是:

Integer integer = 10;//装箱
int i = integer;//拆箱

简而言之,装箱就是基本数据类型转换为包装类型,拆箱就是包装类型转换为基本数据类型。

 


参考:

Java中基本数据类型和包装类型的区别:https://blog.csdn.net/qq_34820803/article/details/87938182

JAVA基本数据类型及其对应的包装类:https://blog.csdn.net/yangyechi/article/details/82530447

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值