举例说明:
short i=1;
i=i+1;
会在编译器报错。原因是:short、char、byte在混合运算中会自动转为int进行运算,所以运算结果为int型,需要强转为short
short i=1;
i=(short)(i+1);
而i+=1;
不会报错,因为i+=1相当于i=(short)(i+1);其中隐含了强制类型转换
举例说明:
short i=1;
i=i+1;
会在编译器报错。原因是:short、char、byte在混合运算中会自动转为int进行运算,所以运算结果为int型,需要强转为short
short i=1;
i=(short)(i+1);
而i+=1;
不会报错,因为i+=1相当于i=(short)(i+1);其中隐含了强制类型转换