04-基本数据类型之间的运算规则
1.自动类型提升
前提:这里讨论的是七种基本数据类型间的运算,不包含Boolean。
我们看下面这一段代码考虑一下写的是否正确?
1 byte b1 = 12; 2 int i1 = 1123; 3 byte b2 = b1 + i1;
如果我们运行上面代码就能发现代码语法错误,byte是一个1小的数据类型而int是一个大的数据类型,二者之和应该其中比较大的那个数据类型来承接。
1 byte b1 = 12; 2 int i1 = 1123; 3 int b2 = b1 + i1;
上面代码运行就不会报错。
注意:byte short char属于同一级别,当他们三者之间进行运算或者自身运算的时候,使用int来接收计算结果。
byte short char-->int-->long-->float-->double
结论:当容量少的数据类型的变量与容量大的数据类型做运算时,结果自动提升为容量大的数据类型。(此时的容量大小指的是表示数的范围的大小。)
2.强制类型转换
强制类型转换:自动类型提升的逆运算
需要使用强制转换符(),可能会导致精度损失。
格式:
小的数据类型 变量名1 = (小的数据类型) 变量名2; // 其中变量2刚开始储存的时候使用的数据类型比较大