Java基础知识学习巩固2--int和Integer有什么区别及扩展

这个问题之前首先要介绍下Java数据类型,
一、Java基本类型,主要有8种,分别是:
1、 boolean(布尔型即只有true和false),
2、char(字节型 16 位 Unicode 字符 ),
3、byte( 8位、有符号的,以二进制补码表示的整数 ),
4、short( 16 位、有符号的以二进制补码表示的整数 ),
5、int( 32位有符号的以二进制补码表示的整数)
6、long( 64 位、有符号的以二进制补码表示的整数 ),
7、float( 单精度、32位、符合IEEE 754标准的浮点数 ),
8、double( 双精度、64 位、符合IEEE 754标准的浮点数

    这8中数据类型可以,自动转换和强制转换:

        自动转换,自动转换时只能由低级向高级(byte;short;char->int->long->float->double;)

        强制转换,即大位数转换成小位数.

                    如 int a = 123; byte b = (byte)a;//此时需要强转 不强转会编译报错

        以上基本类型只能赋予值。

二、引用数据类型,主要三种,分别是:

        1、类(Class)

        2、接口(interface)

        3、数组

           我们最常用到的引用数据类型就是String类,通过源码我们可以看到,实际上String存储的字符串是以基本数据类型char的数组进行存储并创建对应位数的。

           而我们的Integer就是引用类型,从所截图的源码中可以看出Integer是一个继承了Number并实现 Comparable而构造的类,其中提供了很多例如toString这样的方法。

     还有Float与float,long与Long都同理。

三、总结:

        从以上可以看出int和Integer的主要区别就是一个是基本类型,主要是值传递;一个是引用类型,即类,即是按值传递也是按引用传递。J

        Java从5开始引入自动装箱/拆箱机制,使得二者可以相互转换,Integer对int这样对基本类型进行的装箱使得开发更加便捷。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任玉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值