byte b = 12;byte c = 23;
1.b = b+c;
2.b+=c;
1与2的区别:
1等式的右边在运算时 发生了自动类型提升 等式右边被提升为int 数据类型 而等式左边依然是byte数据类型 所以编译报错 容易丢失精度。实际上这个等式进行了2次运算,编译无法通过。需要强制转换为byte类型 即b=byte(b+c)
2等式 只进行了一次赋值运算,它存在自动转换的动作。即将b+c的值同时赋给b,所以就能通过编译咯
你去看看毕老师02-08类型转换和02-10转义字符部分 大小碗理论很经典,应该就能明白了哦
|