类型转换
作者:互联网
类型转换
目录引言
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。在进行类型转换的时候有一些注意事项,我归纳了以下几点。
优先级
低------------------------------------->高
byte,short,char->int->long->float->double
小数的优先级高于整数。
- 运算中,不同类型的数据先转换为同一类型,如何进行运算。
强制转换
强制转换是优先级高的类型转化为优先级低的类型的转换。
格式:(类型)变量名
例:
int i = 10; byte b = (byte)i;
例子中的这两行代码是将int类型的i赋值给byte类型的b,是优先级高的类型转化为优先级低的类型,所以需要强制转换,不然就会出现下面的报错:
系统提示应该使用int类型,所以我们需要将将byte改为int,或者进行强制转换。
- 数据溢出(也叫内存溢出)
强制转换中一个常见的问题,原因是因为超出该类型的字节范围。
例:
在例子中,b的值本应该是和i相同,等于138,但是因为byte类型的字节范围是-128 ~ 127,超出了byte的字节范围,发生了数据溢出。
自动转换
自动转换是优先级低的类型转化为优先级高的类型转换。不需要任何操作,系统自动进行转换。
例:
代码正常运行,系统也没有报错。
注意
布尔值不能进行转换!!!
标签:类型转换,转换,int,类型,优先级,byte 来源: https://www.cnblogs.com/qinyu33/p/16519361.html