类型转换
低————————————————————————————————————————>高
byte,short,char
—————>int
——————>long
—————>float
————>double
注意这个从低到高是指容量,指的是字节大小
long的字节是64,float的字节是32,为什么是long
—————>float
(从高到低)?
解:float是浮点数,小数的优先性大于整数
强制转换:从高到低
自动转换:从低到高
注意点:
-
不能用布尔值进行转换
-
不能把对象类型转化为不相干类型
-
在把高容量转到低容量,要用强制转换
-
转换的时候可能会出现内存溢出或精度问题
1.内存溢出现象
如图从int到byte是从高到低,需要强制转换
格式:(类型)变量名 如图:
但出现了
这是内存溢出现象
2.精度问题
·自动转换 char
——>int
低——>高
·强制转换 int
——>short
高——>低
3.当比较较大时注意溢出问题
解:这是内存溢出了
那如果把他换成大容量的long
?
原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/tech/java/276713.html