Java字面量是代码中直接写出的固定值,决定数据类型和进制含义;整数默认int型,十进制无前缀,二进制以0b/0B开头,八进制以0开头(限0–7),十六进制以0x/0X开头(限0–9/a–f),超范围需加L/f等后缀。

Java 中字面量是代码里直接写出的值,不是变量名,也不是表达式结果。它决定数据类型和进制含义,书写必须严格符合语法规则,否则编译失败或语义出错。
整数字面量的进制前缀与格式
Java 支持四种进制表示整数,每种都有固定前缀和字符限制:
- 十进制:无前缀,仅由数字 0–9 组成(可带负号),如 123、-456
- 二进制:以 0b 或 0B 开头,后续只能是 0 或 1,如 0b1010(=10)、0B1111_0000(支持下划线分隔,JDK7+)
- 八进制:以单个 0 开头(不是 0o),后续只能是 0–7,如 012(=10)、0777(=511);注意 08、09 会直接编译报错
- 十六进制:以 0x 或 0X 开头,后续可为 0–9、a–f 或 A–F,如 0xFF(=255)、0XdeadC0de
类型后缀不能省略的几种情况
字面量默认按 int 类型解析(32位),超出范围或需其他类型时,必须显式加后缀:
- long 类型:必须加 L(推荐大写,避免与数字 1 混淆),如 0xFFFFFFFFL、0b1111_0000L
- float 类型:浮点数字面量加 F 或 f,如 3.14F;不加默认是 double
- byte/short 类型:不能直接靠后缀指定,需配合强制转换或变量上下文推断,如 byte b = 0b0000_0001; 合法,但 0b1000_0000_0000 就超范围,需 (byte)0b1000_0000_0000
其他常见字面量写法
除了整数,Java 还有几类基础字面量,格式同样关键:
立即学习“Java免费学习笔记(深入)”;
- 浮点数字面量:含小数点或科学计数法,如 2.5、1.23e-4、6.02E23F
- 字符字面量:单引号包裹单个字符或转义序列,如 'A'、'\n'、'\u0041'(Unicode)
- 字符串字面量:双引号包裹,可含转义符,如 "Hello"、"Line1\nLine2"
- 布尔与空值:只有 true、false 和 null,不可用数字或字符串代替


















