●请你解释为什么会出现4.0-3.6=0.40000001这种现象?

原因简单来说是这样:2进制的小数无法精确的表达10进制小数,计算机在计算10进制小数的过程中要先转换为2进制进行计算,这个过程中出现了误差。

浮点数值采用二进制系统表示,在二进制中无法精准的表示分数1/10

这好像在十进制中无法精准得表示分数1/3

如果想要在数值计算中不允许出现误差,应使用BigDecimal类

为什么二进制无法精准表示1/10

其实跟数位表示法有关,比如十进制的情况下:

 
final 修饰的实列变量,必须手动赋值
	final 修饰的变量 智能赋一次值
	
final修饰的变量一般添加static修饰 变成静态的 存储在方法区,节省空间

static 修饰的final联合修饰的变量成为"常量" 常量名要全部大写,每个单词之间采用下划线连接

常量:时间上和静态变量一样 区别在于:常量的值不能改变
	常量和静态变量都是储存在方法区,并且都是在类加载时初始化
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值