🔥「炎码工坊」技术弹药已装填!
点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】
一、问题驱动:为什么需要基本数据类型?
场景:你正在开发一个物联网系统,需要存储传感器采集的温度数据(范围:-50℃ ~ 100℃,精度:0.1℃)。
问题:
- 该选择哪种数据类型?
- 如果用
int
存储会导致什么问题? - 为什么不能直接用
double
做精确计算?
二、Java基本数据类型全景图(Mermaid流程图)
三、实战代码示例(JDK 17)
1. 整型选择:温度存储优化
// 场景:存储温度范围-50~100℃,用byte足够(-128~127)
byte temperature = 25; // 占1字节
System.out.println("当前温度:" + temperature + "℃");// 错误示例:超出范围会溢出
byte test = (byte) 130;
System.out.println(test); // 输出-126(补码截断)
2. 浮点型陷阱:金融计算的"0.1+0.2"
// 直接使用double的精度问题
double a = 0.1;
double b = 0.2;
System.out.println(a + b); // 输出0.30000000000000004 ❌// 正确方案:使用BigDecimal
import java.math.BigDecimal;
BigDecimal c = new BigDecimal("0.1");
BigDecimal d = new BigDecimal("0.2");
System.out.println(c.add(d)); // 输出0.3 ✅
3. 字符型:支持Unicode的中文存储
// 存储中文字符
char ch = '汉';
System.out.println("字符:" + ch); // 输出:字符:汉// 通过ASCII码赋值
char ascii = 97; // 'a'
System.out.println(ascii); // 输出:a
四、8种基本类型对比表
类型 | 大小(字节) | 取值范围 | 典型场景 | 性能优势 |
byte</ |