在学习Java这门开发语言,和使用Java语言进行开发的时候,会使用变量进行数据的传递与计算。但是在正常的编程中,不同的数据类型在进行计算的时候会出现问题。
比如上面的程序,还没有运行就被报错了,这个只是就涉及到我今天要给大家讲的数据类型的转换了。
在Java中,数据类型的转换分为自动转换与强制转换。
自动转换
自动转换,就是取值范围小的类型会自动提升为取值范围大的类型。
比如这样,上面的程序就不会报错,而且程序运行也会通过,也会得出正确的结果。
转换原理:
double类型占据8个字节,int类型只占据4个字节。在计算时,int类型会自动提升为double类型,自动补充4个字节,因此计算后的结果还是double类型。
转换规则:
范围小的类型向范围大的类型提升。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
强制转换
当把一个不属于当前数据类型范围的值赋值给该数据类型时,在编译阶段就会报错。比如:
int i2 = 1.5;
double类型内存占用8个字节,int类型占用4个字节。1.5是double类型,占用内存超过int的内存范围。想把一个大杯子放到一个小杯子里,这是完全说不通的。
想要让这段代码成功的话,只有进行强制类型转换,把double类强制转换为int类型才能进行赋值。格式如下:
转换原理:
对需要进行强制转换的数据类型进行内存的强制增加或者删除。
注意:
浮点型转化为整数型,直接取消小数点后的数字,可能造成数据损失,影响精准度
总结:
Java学习中,数据类型的转换是每个人都需要知道的,即使不是很明白,但是也必须知道数据类型之间的内存占据大小关系。
在这里,给大家准备了一个Java的小项目——坦克大战这个小游戏,全部做完之后就可以掌握Java的基础内容,为以后的进阶打下基础吗,完成下列步骤即可获取。
关注小编并转发此文章
私信 坦克 ,领取项目代码与讲解
网友评论