在java中,遇到+,-,*,/,%运算符的时候,遵循如下规则:
只要两个数据中有一个double类型的,另一个也会转为double类型,并且结果为double类型;
只要两个数据中有一个float类型的,另一个也会转为float类型,并且结果为float类型;
只要两个数据中有一个long类型的,另一个也会转为long类型,并且结果为long类型;
初此之外,(byte,short,int,char)两个操作数都会转为int类型,并且结构为int类型。
所以本题中只有A返回的是byte类型的数据,因为进行了数据的强转。
B,C,D最后都是两个byte类型的数据进行计算,所以都会转化为int类型,并且返回int类型的数据 |