当对两个数值进行二元操作时,先要将两个操作数转换为同一种类型,然后再进行计算。
- 如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
- 否则,如果其中一个操作数是float类型,另一个操作数就会转换为float类型。
- 否则,如果其中一个操作数是long类型,另一个操作数就会转换为long类型。
- 否则,两个操作数都将转换为int类型。
对于最后一点,即使操作数是short等类型也会转换为int类型进行计算。如:short b = 1;b = b + 1;// 错误b = (byte) (b + 1);// 正确不过对于short类型进行‘++’运算与‘+=’,则不会进行转换:short b = 1;b++; // 正确b += 1; // 正确
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/135890.htm