类型转换
1.类型转换
类型转换分为两种,一种是隐式转换,一种是强制转换。
2.隐式转换
取值范围小的数或者变量可以直接赋值给取值范围大的数
就像4L的油可以直接倒入8L的油桶里
注意!赋值是从右往左
3.强制转换
取值范围大的数或者变量不可以直接赋值给取值范围小的数
就像8L的油倒入4L的桶会溢出
java报错
但是我们可以强制转换,转换的方法就是:
4.注意事项
1.在java中,如果两个数据的数据类型不一致就不会进行运算
2.取值范围大的数和取值范围小的数做运算时,小的会变成大的,然后再进行运算
3.byte、short、char这三个类型在做运算时都会提升为int,再进行运算
面试题:请问该代码是否正确?
答:不正确,因为byte在运算时会提升为int,所以a与b的类型都是int 那么c的类型就不能用byte而要用int
5.转换问题
1.内存溢出:在大容量转换为小容量时,如果容量过大而超过了小容量的类所能承受的范围,则会出错。
如:
2.精度损失:在强制转换时,小数转整数,会出现精度损失的情况
如:
3.相乘问题:未转换,已相乘。
如: