整型 (默认为int类型)
    byte(1字节) -128-127
    short(2字节) -2^15-2^15-1
    int(4字节) -2^31-2^31-1
    long(8字节) -2^63-2^63-1
    浮点型(默认为double类型)
    float(4字节)
    double(8字节)
    字符型 char(2字节)
    布尔型 boolean

    1.自动类型提升
    结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
    byte、char、short —>int —> long —> float —>double
    特别的,当byte,char,short三种类型的变量做运算时,结果为int类型。

    说明:此时容量大小指的是,表示数的范围的大小。例如,float容量大于long的容量。

    2.强制类型转换
    int i = 128;
    byte b = (byte)i; ==>-128
    image.png
    -128的补码计算采用另一种计算规则,负数的绝对值按位取反再加1
    正数和负数的补码遵循的是两种计算规则