为什么java中的8种基本数据类型转换关系是这样的

数据类型在计算机语言里面,是对内存的一种抽象表达方式。

数据都已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位内存分配

现在就很好理解基本类型的转换关系了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值