结论:多种数据类型做混合运算的时候,最终的结果类型是“最大容量”对应的类型。


char+short+byte 这个除外。
因为char + short + byte混合运算的时候,会各自先转换成int再运算。

  1. public class IntTest{
  2. public static void main(String[] args){
  3. long a =10L;
  4. char c = 'a';
  5. short s = 100;
  6. int i = 30;
  7. //求和
  8. System.out.println(a + c + s + i);
  9. //错误:不兼容的类型:从long转换到int可能会有损失
  10. // 计算结果是long类型
  11. //int x = a + c + s + i;
  12. int x = (int)(a + c + s + i);
  13. System.out.println(x);
  14. // 以下程序执行结果是?
  15. // java中规定,int类型和int类型的最终结果还是int类型。
  16. int temp = 10 / 3; // / 是除号。(最终取整)
  17. System.out.println(temp); // 3.33333吗?结果是:3
  18. // 在java中计算结果不一定是精确的
  19. int temp2 = 1/2;
  20. System.out.prinyln(temp2); // 0
  21. }
  22. }