自动类型提升运算

    1. /*
    2. 基本数据类型之间的运算规则:
    3. 前提:这里讨论只是7种基本数据类型变量间的运算。不包含boolean类型的。
    4. 1. 自动类型提升:
    5. 结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
    6. byte 、char 、short --> int --> long --> float --> double
    7. 特别的:当byte、char、short三种类型的变量做运算时,结果为int型
    8. 其中 包含了同种数据类型的变量做运算 ,
    9. 2. 强制类型转换:见强制类型转换
    10. 说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量
    11. */
    12. class VariableTest2 {
    13. public static void main(String[] args) {
    14. byte b1 = 2;
    15. int i1 = 129;
    16. //编译不通过
    17. //byte b2 = b1 + i1;
    18. int i2 = b1 + i1;
    19. long l1 = b1 + i1;
    20. System.out.println(i2);
    21. float f = b1 + i1;
    22. System.out.println(f);
    23. short s1 = 123;
    24. double d1 = s1;
    25. System.out.println(d1);//123.0
    26. //***************特别地*********************
    27. char c1 = 'a';//97
    28. int i3 = 10;
    29. int i4 = c1 + i3;
    30. System.out.println(i4);
    31. short s2 = 10;
    32. //char c2 = c1 + s2;//编译不通过
    33. byte b2 = 10;
    34. //char c3 = c1 + b2;//编译不通过
    35. //short s3 = b2 + s2;//编译不通过
    36. //short s4 = b1 + b2;//编译不通过
    37. //****************************************
    38. }
    39. }