java double转int_Java中的换形师-数据类型转换

在学习Java这门开发语言,和使用Java语言进行开发的时候,会使用变量进行数据的传递与计算。但是在正常的编程中,不同的数据类型在进行计算的时候会出现问题。

35959f2c4059c100ac37a50451fa16c2.png

比如上面的程序,还没有运行就被报错了,这个只是就涉及到我今天要给大家讲的数据类型的转换了。

在Java中,数据类型的转换分为自动转换与强制转换。

a2003d207fc8610c5d888d144380690e.png

自动转换

自动转换,就是取值范围小的类型会自动提升为取值范围大的类型。

3116962c896a71017628566bfccafe09.png

比如这样,上面的程序就不会报错,而且程序运行也会通过,也会得出正确的结果。

转换原理:

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类型才能进行赋值。格式如下:

f7df070eff97187eb45cb85494db7549.png

转换原理:

对需要进行强制转换的数据类型进行内存的强制增加或者删除。

注意:

  • 浮点型转化为整数型,直接取消小数点后的数字,可能造成数据损失,影响精准度

总结:

Java学习中,数据类型的转换是每个人都需要知道的,即使不是很明白,但是也必须知道数据类型之间的内存占据大小关系。

在这里,给大家准备了一个Java的小项目——坦克大战这个小游戏,全部做完之后就可以掌握Java的基础内容,为以后的进阶打下基础吗,完成下列步骤即可获取。

  • 关注小编并转发此文章
  • 私信 坦克 ,领取项目代码与讲解
64b76ad05e247acbdd520d8e8185cb66.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值