Java初学者 自动类型转换 表达式类型的自动提升 这两者怎么区别

2022-07-24 教育 70阅读

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

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com