java数值类型转换
自动转换
-
将 取值范围小的类型 自动提升为 取值范围大的类型
byte a = 3; int b = 3; int c = a + b; // b 自动转换为int类型
-
byte
、short
、char
运算时自动转为int
-
转换规则
byte
、short
、char
‐‐>int
‐‐>long
‐‐>float
‐‐>double
强制转换
-
将 取值范围大的类型 强制转换成 取值范围小的类型 ,需要手动执行
int a = (int)1.5; // a 的值为1,强制转换发生了精度损失
-
赋值运算符(
+=
、-=
、/=
、*=
)带有强制转换的特点short num0 = 3; short num1 = 3; num1 += num0; // 相当于 num1 = (byte)(num1 + num0) num1 = num1 + num0; // 报错;num1 + num0运算时,num1 和 num0 自动转为int类型
本文来自博客园,作者:遥远的相似性,转载请注明原文链接:https://www.cnblogs.com/z212021/p/13866273.html