java中为什么需要数据类型

1、数据类型是用来干嘛的?

先画一下内存
在这里插入图片描述
如果没有数据类型的出现先假设用一个字节来进行存储数据。读取数据就只能读到一个字节的数据,也就是八个二进制位所表示的值。但是8个二进制位所表示的数据能否代表着客观世界中所有的数据呢?如果采用不同的解析方式来对这8个二进制位进行解析能够满足我们客观世界所需要的呢?答案是很明显的,不可以。
为什么?拿整数举个例子:
比如说八个二进制位最高表示的正整数才是127,负整数是-128,那么超出的部分如何进行解决呢?比如说129,10000如何进行存储呢??
如果没有数据类型的出现,假设用一个指定字节长度大小的空间来进行存储。存储-128·127之间的数据用n个字节来进行存储。储存100000000用n
个字节来存储,存储布尔类型的也用n个字节来进行储存,字符类型的和字符串类型的都用n个字符来进行存储。那么在大量数据的情况下造成的问题的是什么???如果有一亿个数据,每个数据只需要一个字节来进行存储,但是都采用了n个字节来进行存储,那么对于内存来说存储量就是一亿*n个字节,但是对于内存来说,是非常珍贵的资源,这种采用定长的数据类型显然是不合适的。
解决方法:来规定每种数据各自占据内存的大小来进行划分。规定每一种数据占据内存的大小,在这一块内存空间中存储的数据不会超过、也不会低于这种数据的最大最小范围。那么以后只要计算机存取数据的时候,就会根据数据来进行判断,这个是什么类型,需要占据多大的内存空间来进行数据存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值