2021-08-06 类型转换 Day 03

类型转换

转换的等级

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ul5ez45H-1628252063118)(C:\Users\ykw\AppData\Roaming\Typora\typora-user-images\image-20210806193040528.png)]


强制类型转换

强制类型转换方法

  • (类型)变量名
  • 高容量–>低容量

题目

  • image-20210806193229497 - 因为byte大小范围是-128到127,i=128超过byte的最大值,所以内存溢出,改变了b的值

自动类型转换

自动类型转换方法

  • 低容量–>高容量

题目

  • image-20210806194017921
image-20210806194055117

由此可见,从低的int类型到高的类型double不需要加什么类型名


类型转换的注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量的时候,强制转换;反之,自动转换
  4. 转换的时候可能存在内存溢出,或者精度问题

精度问题

  • image-20210806194649102 - 由int转换为float或double时,丢失了精度
  • image-20210806194919466 - 由低容量char到高容量int,值变为了数字98;由高容量int到低容量char,需要强制转换,值为b

溢出问题

  • image-20210806195850746 - total的值明显不对,计算的时候溢出了
  • image-20210806200032359 - long total2也不行,因为后面的值默认类型为int,结果得到的值已经溢出
  • image-20210806200224472 - 正确的方法是先把一个数的类型转换为Long,然后得到的值才是正确的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值