Java基本数据类型之间的转换(强制转换与处理精度丢失

java8⃣️种基本数据类型:(占位)
整型:byte short int long 8 16 32 64
浮点型:float double 32 64
布尔型:boolean 32
字符型:char 16

byte可以转换成short,int
int可以转换成long和double,float也能转换成double
int可以转换成float类型,但会造成精度丢失,因为都是32位,但是int有一位代表符号位
char能转换成int,int不能转换成char
:简单来说就是占位少的能转换成占位多的。

强制转换:short a=1; byte b=(byte)a; //在a之前加一个(数值类型)

#java的强数据类型本质上就是在内存中开辟不同形式的内存空间,由于类型开辟形式不同,容易引起转换错误的问题。

如何处理精度丢失: public static void main (String[] args){
BigDecimal b1 = new BigDecimal(Float.toString(1.2f));
BigDecimal b1 = new BigDecimal(Float.toString(1));
float s = b1.subtract(b2).floatValue();
System.out.println (“s- - - -“ + s);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值