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

先画一下内存

java中数据类型工资 java数据类型的作用_内存空间


如果没有数据类型的出现先假设用一个字节来进行存储数据。读取数据就只能读到一个字节的数据,也就是八个二进制位所表示的值。但是8个二进制位所表示的数据能否代表着客观世界中所有的数据呢?如果采用不同的解析方式来对这8个二进制位进行解析能够满足我们客观世界所需要的呢?答案是很明显的,不可以。

为什么?拿整数举个例子:

比如说八个二进制位最高表示的正整数才是127,负整数是-128,那么超出的部分如何进行解决呢?比如说129,10000如何进行存储呢??

如果没有数据类型的出现,假设用一个指定字节长度大小的空间来进行存储。存储-128·127之间的数据用n个字节来进行存储。储存100000000用n

个字节来存储,存储布尔类型的也用n个字节来进行储存,字符类型的和字符串类型的都用n个字符来进行存储。那么在大量数据的情况下造成的问题的是什么???如果有一亿个数据,每个数据只需要一个字节来进行存储,但是都采用了n个字节来进行存储,那么对于内存来说存储量就是一亿*n个字节,但是对于内存来说,是非常珍贵的资源,这种采用定长的数据类型显然是不合适的。

解决方法:来规定每种数据各自占据内存的大小来进行划分。规定每一种数据占据内存的大小,在这一块内存空间中存储的数据不会超过、也不会低于这种数据的最大最小范围。那么以后只要计算机存取数据的时候,就会根据数据来进行判断,这个是什么类型,需要占据多大的内存空间来进行数据存储。