前言

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

核心规则

从左向右执行,遇到字符串后续全部为拼接

  1. 数字 + 数字 → 算术运算
  2. 字符串 + 任意 → 字符串拼接

四、基本类型新手总结

  1. 整数运算自动向下取整
  2. 浮点存在精度丢失
  3. 字符串拼接遵循从左到右优先级
  4. 混合运算时,低精度自动向高精度转换

结语

数据类型细节是 Java 基础 BUG 重灾区,新手一定要养成先判断运算类型、再写代码的习惯。

更多推荐