数据类型在计算机语言里面,是对内存的一种抽象表达方式。
数据都已0和1的形式保存在内存里面,数据类型就是用一段连续的内存表示一个数据。
可以为理解为对内存的面向对象。
一段连续的合适大小的内存表示一种数据类型(类似于java中的一种类)。
java中分为三类八大基本数据类型
1、char
char中的65535种数值对应着Unicode中的符号码。
在java中,String类是一个特殊的类,String底层就是数组char。
2、boolean
编译器会以int类型处理。
3、byte short int long
不一样长度的整型。最高位0表示正数,1表示负数。
溢出:以byte为例
byte最大值127 二进制 0111 1111
byte最大值加1 变为二级制 1000 000 为最小值-128
问题:如果现在有一个需求,两个数相加已经超过了long的最大值了,怎么解决?
4、float double
float极值:(+/-)3.4028235 * 10^38
double极值:(+/-)1.7976931348623157 * 10^308
long的最大值: 0.9223372036854775807 * 10^19
显而易见,float和double的最大值比long大的多的多。
float的32位内存分配
现在就很好理解基本类型的转换关系了