隐式转换:byte ,short ,char --> int --> long --> float -->double
byte,short,char相互之间不转换,他们参与运算首先转换为int类型;boolean类型不能转换为其他的数据类型
强制转换:数据类型 变量名 = (目标数据类型) (数据);
当使用强制转换的时候,隐含了可能损失精度的问题 .
面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
b=b1+b2;编译失败,因为可能会丢失精度
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
有问题,可以将130强制转换成为byte类型,转换结果为-126 |
|