数据类型--默认转换与强制转换

基本数据类型之间存在默认转换和强制转换

boolean类型不能转换为其他数据类型

 

默认转换与强制转换

  • 默认转换(由小到大)

byte,short,char➡int➡long➡float➡double

byte,short,char互相之间不转换,他们参与运算首先转化为int类型。

 

  • 强制转换

目标类型 变量名=(目标类型)(被转换的数据);

如果被转换的数据是一个变量(不是表达式)的时候可以不加括号。

 

例如:

        int i=1000;

        byte b=10;

//     byte c = i+b;

        byte c =(byte)(i+b);

口诀:
byte,short,char一律自动转换为int
小的用大的接收不用强转
大的用小的接收需要强转

 

强制类型转换的原理

 

 

 如图因为位数不够,计算机在做加法之前会先把byte a 补全

 

 

之后会进行相加

 

 

加完之后红框内的数据会被计算机截掉

所以说强制类型转换有精度损失

posted @ 2021-11-27 18:25  赤兔胭脂小吕布  阅读(69)  评论(0编辑  收藏  举报