Java基本数据类型共8种,分为整数型(byte/short/int/long)、浮点型(float/double)和特殊型(char/boolean);整数字面量默认int,浮点默认double;窄类型赋值需编译期常量且范围合规;基本类型存栈,包装类存堆。

整数类型:byte、short、int、long
都表示无小数部分的有符号整数,区别在于位宽和取值范围:
- byte:1 字节(8 位),范围 -128 ~ 127,适合网络协议、图像像素等大批量二进制数据场景
- short:2 字节(16 位),范围 -32768 ~ 32767,现代业务代码极少使用,底层硬件交互偶见
-
int:4 字节(32 位),范围 -2147483648 ~ 2147483647,最常用,默认整数字面量类型(如
123就是int) -
long:8 字节(64 位),范围极大,用于时间戳、分布式 ID 等大整数;字面量必须加
L或l后缀(推荐大写L),例如123456789012L
浮点类型:float、double
用于带小数的近似数值计算,注意精度与默认行为:
-
float:4 字节,单精度,约 6~7 位有效数字;字面量必须加
f或F后缀(如3.14f),否则编译报错 -
double:8 字节,双精度,约 15~16 位有效数字;是默认浮点类型(
3.14就是double),可省略d后缀
特殊类型:char 和 boolean
语义明确,不可与其他类型混用:
-
char:2 字节,表示一个 Unicode 字符(如
'A'、'中'、'\u03B1'),本质是无符号 16 位整数(0 ~ 65535),支持算术运算(如'a' + 1得'b') -
boolean:仅两个值
true和false;不对应任何数字,不能转成0/1,也不能参与算术或比较运算(==除外,但仅限同为boolean)
使用时关键注意事项
避开常见错误比记住分类更重要:
立即学习“Java免费学习笔记(深入)”;
- 整数字面量默认是
int,浮点字面量默认是double——这是语言规范,直接影响编译是否通过 - 窄类型赋值需满足“编译期常量且值在范围内”,例如
short s = 100;合法,但short s = 100000;报错 - 基本类型存栈上,轻量;包装类(如
Integer)是对象,存在堆上,有空指针和缓存陷阱(如Integer a = 128; Integer b = 128; a == b为false) - 别为了“节省内存”随意选
byte或short:运算时自动提升为int,反而容易出错(byte b = 1; b = b + 1;编译失败,需强转)


















