class Demo//关于强制转换的调试,整数类型
{
public static void main(String[]args)
{
byte a=5
byte a1=6;
byte a2=7;
a=(byte)(a1+a2);;//正确的应该是这样的
//错误是在这里.为什么会损失精度呢?因为在a1+a2的时候类型自动提升为了int类型,
//所以int类型给byte类型的时候会损失精度(也就是老毕说4两的饭装2两的碗装不下<我居然饿了!!!!!>),这里需要强制转换成byte类型就ok啦.
System.out.println(a);
}
} |