Java为什么要有基本数据类型和包装类型

作为面向对象语言为代表的Java, 在很多任务场景中经常看到它的身影。那么,Java为什么要有基本数据类型和包装类型? 这个问题看似简单,其实也不好回答。毕竟这个问题不仅你我感觉到困惑,许多大佬也感觉到困惑,一些人希望把基本数据类型剔除,一些人希望继续保留。

一 简单回顾

基本数据类型(8):byte,short,int,long, float, double,boolean,char

对应的包装类型,Byte,Short, Integer,Float,Double, Boolean, Charecter

byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。

float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

boolean:只有true和false两个取值。

char:16位,存储Unicode码,用单引号赋值。

二 一些见解汇总

反对者:由于Java的基本数据类型的使用,在一定程度破坏了面向对象过程。基本数据类型就想一颗耗子屎破坏了Java的面向对象思想。这个角度很好理解,因为基本数据类型应用场景一般是以数值计算为主,即经常用来面向过程的一些开发或者设计。所以基本数据类型就破坏了面向对象为核心的Java体系。

笔者比较赞同支持者,这里写主要2点。

支持者: 一切软件设计或者分析都要以性能的角度来考虑。留下基本数据类型的原因是它们能够带来系统性能的提高。可以从上述表格进行理解,对应基本数据类型int,占4个字节。

    而对于Interger类所创建的对象则需要int基本数据类型资源的3倍,

因为创建管理的需要4个字节,

创建出真正的对象也需要4个字节,

另外创建引用也需要4个字节。

同时,基本数据类型不需要垃圾回收,而对象还需要额外的系统资源来回收对象垃圾。  在另一方面,Java应用也有一些以数值计算为主的使用场景,如果剔除掉基本数据类型,可能会带来很多不方便。

故至今为止,我们还能看到Java的基本数据类型和包装类型一直都在Java.lang包中,笔者相信,在未来的时间里,基本数据类型也会一直在。

进一步阅读

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值