1、类型转换
java是强类型语言,进行运算,需要类型转换
低…………………………………………高
byte,short,char→int→long→float→double
运算中,不同类型数据先转化为同一类型,再运算
2、强制类型转换
格式为**(类型)变量名**
转换为从高到低
自动类型转换
从低到高
案列
例如,每年赚10亿,连续20年,求20年一共赚了多少。
- 可以看出total求出来的是个负值,是因为计算溢出了,int的范围是±21亿
- total2换成long类型,然而计算还是错的,是因为money和years定义的是int,计算机在计算时会先计算,后转换类型。数据在转换之前就已经出问题了,故计算错误。
- total3就先转换,在计算,就没问题了
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到底容量的时候,用强制转换
- 转换的时候可能存在内存溢出,或者精度问题