目录
数据类型转换
1.自动类型转换(加宽转换)
1.1定义
将具有较少数的数据类型转换为具有较多数的数据类型。
虚线表示转换可能丢失精度
实线表示不丢失精度的转换
1.2注意
布尔类型数据不能与其他任何类型的数据相互转换。
1.3举例
(1)不丢失精度
byte b = 120;
int i = b;
(2)丢失精度
int n = 123456789;
float f = n;
2.强制类型转换
2.1定义
将位数较多的数据类型转换为位数较少的数据类型。
2.2格式
数据类型1 变量名1 = 数据1;
数据类型2 变量名2 = (数据类型2)变量名1;
2.3注意
(1)强制类型转换有可能丢失信息。
(2)强制类型转换时应测试转换后的结果是否在正确范围。
2.4举例
double d = 200.5;
byte b = (byte)d;
3.表达式中类型自动提升
3.1定义
表达式类型的提升:编译器会将操作数类型提升为其他类型
3.2注意
(1)赋值可能发生类型转换,含变量的表达式也有类型转换。
(2)常量表达式不发生类型转换。
(3)自动类型转换和强制类型转换也发生在对象中,用括号()实现。