本帖最后由 棉/mg花/x糖 于 2013-5-22 21:38 编辑
楼主,你好,我来帮你解释这个问题!!- int b=0;
- byte b1 = 3;
- byte b2 = 4;
- b=(byte)(b1+b2);
- System.out.println(b);
复制代码 这里,先说明一点:
(1)类型级别高的数据赋值给类型级别低的变量时,会丢失精度(还有可能会报错);
(2)类型级别低的数据赋值给类型级别高的变量时,会有个类型自动升级的过程(隐式
的,由系统自动完成)。
这里,明显是byte数据赋值给int型数据,显然不会报错。
并且,b1,b2本身就是byte型,故(byte)(b1+b2)和(b1+b2)是完全等价的。
加不加上(byte)效果一样。
希望这个解释,能对楼主有所帮助。
|