在本周课堂上老师讲解了一个小细节关于byte的用法。代码如下:
看如图代码,其中由于int转换成byte有损失。因为byte的字节为1而int的字节为4,所以在强制转换时会有损失。但另一种方法可以解决代码如下:
byte b = 1;
b += 1;
或
byte b = 1;
b = (byte)(b + 1);
解释如图
因为b = b + 1与b += 1;不同。
如下
一、
当a和b的数据类型相同时,a+=b的效率是高于a=a+b的。
二、
当a和b的数据类型不同时,同样需要分为两种情形:
1.a的数据类型小于b(向上兼容),a+=b的精度会丢失,a=a+b会直接报错。
(此个便是上面的例题)
2.a的数据类型大于b(向下兼容),两者都会成功编译。
以上就是这个星期内的其中一个小问题,更多为题有待发掘.希望能在编码路上越来越长。