Java学习——基础数据类型转换

基础数据类型优先级

低-----------------------------------------------------高
byte,short,char,int,long,float,double

  • 强制类型转换

从高优先级转换到低优先级必须使用强制类型转换,要注意避免数据溢出和精度损失的出现。
格式:(类型)变量名

  • 自动类型转换

从低优先级转换到高优先级可以使用自动类型转换,自动类型转换直接赋值即可,系统自动进行数据转换。

  • 注意点

  1. 在Java中数值类型不可以转换成boolean类型。
  2. 可以把数据类型封装类对象类型转换成对应的数据类型,不可以转换成无关的数据类型。
  3. 强制类型转换时要注意避免数据溢出和精度损失。
  4. 数值类型的数据在计算时结果默认为原数据类型再进行后续的转换或赋值,因此在考虑数据溢出和精度损失时,也应该考虑后续的计算问题。例如:
int n = 1000000000;
long m = n*1000;
System.out.println(n);
System.out.println((int)n*1000);
System.out.println(m);

结果为:
在这里插入图片描述
这里long类型的m变量依旧发生了数据溢出的现象,是因为m变量在赋值时,n*1000的结果默认储存为int类型再转换成long类型。在储存为int类型的时候已经发生数据溢出,后续转换成long类型的时候数据溢出也不会逆转。因此我们也要考虑数据运算时的数据溢出和精度损失。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值