Java进行二元操作类型转换

当对两个数值进行二元操作时,先要将两个操作数转换为同一种类型,然后再进行计算。

  • 如果两个操作数中有一个是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; // 正确
原文地址:https://www.cnblogs.com/zawier/p/5698053.html