每个表达式都有类型,若类型与上下文不合适,则Java语言会对表达式进行隐含类型转换;若转换失败,则程序无法编译,系统报错。
- 类型转换
- 扩展转换:
byte - char - short - int - long - float - double
整数转换为浮点数的时候,会损失精度 - 窄化转换
double - float - long - int - short - char - byte
所有窄化转换都有可能丢失信息 - 隐含转换
1)赋值转换:将表达式类型转换为制定变量的类型
2)方法调用转换:适用于方法或构造方法调用中的每一个参数
3)字符串转换:任何类型都可转换为String类型,只适用于一个字符串类型+另一类型,另一类型会自动转换为字符串类型 - 显式转换(强制转换):在要转换的表达式前用括号把想转换成的类型放进去,如:(float)5.0
- 扩展转换: