Java代码避坑

本文主要介绍了Java开发中的一些常见问题和规避策略,包括浮点数处理的精度问题,日期格式化的注意事项,控制语句的规范,特别是高并发场景下的控制语句使用,以及面向对象编程的规约。在浮点数处理上,建议使用BigDecimal避免精度丢失;日期格式化要区分大小写的意义,避免使用可能导致误解的格式;控制语句中强调了case的处理方式和switch的null判断。此外,还讨论了参数校验的重要性及其适用场合。
摘要由CSDN通过智能技术生成

浮点数据的处理

注意:浮点数表示的不是一个准确的数字

存储货币时,均以最小货币单位且整型类型来进行存储。

 

0.1 默认是double类型,有效位数均为53

0.1f 有效位数23

(double)e 会在flout类型上补0

浮点数据类型的问题:精度丢失

浮点数通过科学计数法表示,是二进制形式的科学计数法,所有底数为2

 

有效位数其实前面省略了一个1,共24位(有效数字保存的只有小数部分)

十进制科学计数法规格化:

整数部分:1-9

二进制科学计数法规格化:

保持小数点前有且只有一个“1”(省略了前面的1,有效数字保存的只有小数部分)

 

 精确的小数存储——decimal,java中用java.math.BigDecimal类

浮点数据避坑:

1、浮点数之间的等值判断,基本数据类型不能用==,包装数据类型不能用equals来判断。

(应该指定一个误差范围,两个浮点数的差值在此范围内,则认为是相等的)

2、Bi

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值