首页 > 编程 > Java > 正文

【JAVA】4.数据类型转换

2019-11-11 02:53:32
字体:
来源:转载
供稿:网友

一、自动转换

容量小的自动转换成容量大的数据类型byte—>short—>int<—char,int—>long。无信息丢失转int/long–>float/double。可能有精度损失的转换多种类型混合运算时,自动把所有类型转换为容量最大的类型,然后进行运算。

例子:

int n = 123456789;float f = n;//f = 1.234569e8byte a = 3;a = a + 2;//这句话是错误的a+2运算前已自动转换为int型,不能将int类型赋给byte

二、强制转换

容量大的转换为容量小的时,需要通过强制类型转换实现:( 数据类型 ) 数值double a = 3.9158;int b = (int)a;//b = 3,数值上不进行四舍五入,直接将小数位截断如果想对浮点数进行舍入运算,一般采用Math.round(round方法返回 的是long型)double a = 3.9158;int b = (int)Math.round(a);//b = 4如果想将一个数值从一种类型转换为另一种类型,而又超出了目标类型范围,结果就会截断成一个完全不同的值。(byte)300 = 44;//double和float之间超范围不能进行转换double a=2e200;float b=(float)a;//运行结果Infinity,产生溢出//由于float带有小数点,不可以直接砍掉多余字节强制转换,所以会溢出出错

三、boolean类型不可以转换为其它数据类型


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表