java有且仅有8种基本数据类型,直接存储值,包括byte、short、int、long、float、double、char和boolean,各自内存大小、取值范围及使用规范需准确掌握。

Java 数据类型是写代码的起点,不是背概念,而是理解“存什么、怎么存、能干啥”。掌握它,编译错误少一半,逻辑更清晰。
8种基本类型:内存和范围得心里有数
Java 有且仅有 8 种基本数据类型,它们直接存值,不涉及对象或地址:
-
整数型:byte(1字节,-128~127)、short(2字节,-32768~32767)、int(4字节,最常用,范围约±21亿)、long(8字节,大数用,赋值必须加 L,如
10000000000L) -
浮点型:float(4字节,单精度,字面量必须带 f/F,如
3.14f);double(8字节,双精度,字面量可省略 d/D,如3.1415926) -
字符型:char(2字节,Unicode 编码,用单引号,如
'中'、'\u4F60',也能用整数赋值(char c = 65;等价于'A') -
布尔型:boolean(大小由 JVM 决定),只有
true和false,全小写,不能与 0/1 混用
声明和赋值:细节决定能不能过编译
看似简单,但错一处就报红:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- int a = 100; ✅ 合法;int a = 100L; ❌ 编译失败——long 不能自动转 int,需强转
- float f = 3.14; ❌ 编译失败——double 字面量不能直接赋给 float,必须写成
3.14f - byte b = 127; ✅;byte b = 128; ❌ 超出范围,编译报错
- char c = 'ab'; ❌ 单引号只允许一个字符或合法转义符(如
'\n')
类型转换:自动提升 vs 强制截断
Java 不会帮你冒险,转换规则很明确:
- 自动转换(隐式):小范围→大范围,如 byte → int → long → float → double;char → int 也自动发生
-
强制转换(显式):大范围→小范围必须加括号,如
int i = (int)3.9;结果是 3(直接截断,非四舍五入) - 超出目标类型范围时,结果是取模后的值,比如
byte b = (byte)130;得到 -126,不是报错
基本类型 vs 引用类型:本质区别在内存里
别把 String 当基本类型——它属于引用类型:
- 基本类型变量存的是真实数据,比如
int x = 5;,x 就是数字 5 - 引用类型变量存的是地址,比如
String s = "abc";,s 存的是字符串对象在堆里的位置 - 因此,
==对基本类型比值,对引用类型默认比地址(除非重写 equals) - String 是类,不是关键字;null 是空常量,不是基本类型
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










