Java 数据类型坑:int、double 精度丢失、字符串拼接新手误区
·
前言
Java 八种基本数据类型中,新手最容易出错的就是整数除法、浮点精度丢失、字符串拼接优先级问题,看似简单,bug 极难排查。
一、新手必踩:int 整数除法取整问题
错误现象
java
运行
double res = 5 / 2;
System.out.println(res); // 输出 2.0 不是 2.5
原因
两个 int 相除,结果一定是 int,自动舍弃小数
正确写法(强转浮点)
java
运行
double res = 5.0 / 2;
二、double 浮点精度丢失问题
错误现象
java
运行
System.out.println(0.1 + 0.2); // 0.30000000000000004
原因
二进制无法精准表示部分十进制小数,浮点型天生存在精度缺陷
新手须知
- 普通计算可用 double
- 金额、金融计算绝对禁止使用 double(后续用 BigDecimal)
三、字符串拼接优先级误区
新手错误结果
java
运行
System.out.println(1+2+"3"); // 输出33
System.out.println("3"+1+2); // 输出312
核心规则
从左向右执行,遇到字符串后续全部为拼接
- 数字 + 数字 → 算术运算
- 字符串 + 任意 → 字符串拼接
四、基本类型新手总结
- 整数运算自动向下取整
- 浮点存在精度丢失
- 字符串拼接遵循从左到右优先级
- 混合运算时,低精度自动向高精度转换
结语
数据类型细节是 Java 基础 BUG 重灾区,新手一定要养成先判断运算类型、再写代码的习惯。
更多推荐



所有评论(0)