Java语言提供的7种数值类型转换有两种方式:自动类型转换和强制类型转换。
一、自动类型转换
表数范围小的可以直接自动转换成表数范围大的
具体例子不祥写了,唯独需要注意的是:把任何基本类型的值和字符串值进行连接运算时,基本类型的值将自动类型转换为字符串,就像上一篇里面的例子,boolean值转换成字符串
方法就是把基本类型的值和空字符串用+进行连接即可
解释:第一个会执行3+4,两个整数之间的加法运算,最后变成7+”Hello!“,这是由于后面跟了字符串,所以加号在这里充当连接的作用,把7转换成了字符串;
至于第二个,因为第一个就是字符串”Hello!“,那么紧挨着的加号就又充当了连接的作用,所以后面的3就转换成了字符串形式,即Hello!3,那么同理,在其后面紧挨的加号又是连接的作用,所以4也被当成字符串。
二、强制类型的转换
如果要把上面的图片中,箭头右边要转换成左边的类型,就需要强制转换。通俗的说就是大瓶子的水倒在小瓶子里;
缩小转换(Narrow Conversion):如果大瓶子里的水很多,那么倒在小瓶子里就会溢出,引起数据丢失。
//强制转换的规范定义
int iValue = 233;
byte bValue = (byte)iValue;
以及经常出错的代码:
//因为默认5.6是double类型,所以会出错
float a = 5.6;
//正确的改法之方法一:
float a = (float)5.6;
//方法二:
float a = 5.6f