类型转换常见错误:
代码如下:
错误提示:
错误分析及解决:
提示里说是第5行,可能会损失精度。这种错误提示都是出现在我们把一个大类型的数赋值给一个数据范围小的变量的时候出现。
而第5行我们是把a+b的和赋值给了变量c,那么肯定是c的数据类型小了。所以只要把c的数据类型改为范围更大的int就可以了。
另外一个分析方向是:提示说需要byte,但是找到了int,并且小箭头指向了a+b的地方。说明a+b的结果为int类型,但是因为我们是用byte类型的变量c来接收结果的,所以计算机希望的是右边的结果是一个byte类型的数,但是我们的a+b的结果为int类型(在java中,数字之间做加法,默认两个加数先转换为int类型,然后再做加法,所以结果a+b的结果为int类型)。这个时候我们需要想下我们是否真的要把a和b想加,如果是的话就把左边的数据类型改为int就好了,这样编译的时候计算机就会去等号右边去找一个int类型的结果,而我们的a+b的确是一个int类型,所以这样改了就能正常运行了。