Java字面量是代码中直接写出的固定值,共六类:整型、浮点型、字符型、字符串型、布尔型和null,分别有严格格式与用途,用于初始化、传参、计算、类型推断及常量池优化。

Java的字面量,就是代码里直接写出来的“固定值”,它不是变量、不占内存地址、不可修改,编译器一看就知道它是什么类型、代表什么数据。
字面量的六种基本类型
Java中常见的字面量共六类,每类都有明确的书写格式和用途:
-
整型字面量:如
100、-42、0x1F(十六进制)、0b1010(二进制)。默认是int类型;要表示long,必须加L(如10000000000L)。 -
浮点型字面量:如
3.14(默认double)、2.718F(float类型)、1.23e-5(科学计数法)。不加后缀就是double,加F/f才是float。 -
字符型字面量:用单引号括起的**单个**字符,如
'A'、'\n'(换行)、'\u4f60'(Unicode,“你”)。不能写成'ab'或"a",否则编译报错。 -
字符串型字面量:用双引号括起的字符序列,如
"Hello"、" "(空格)、""(空字符串)。注意:它本质是对象,会被放入字符串常量池自动复用。 -
布尔型字面量:只有两个——
true和false。不能用1/0或大写的TRUE替代,大小写敏感且类型严格。 -
空字面量
null:唯一值,表示“引用没指向任何对象”。只能赋给引用类型(如String s = null;),不能赋给int、char等基本类型。
字面量的核心用途
字面量不是摆设,它在开发中承担着几个关键角色:
- 用于初始化变量:
int age = 25;中的25就是整型字面量; - 作为方法参数直接传入:
System.out.println("OK");中的"OK"是字符串字面量; - 参与表达式计算:
if (score >= 90)中的90是比较依据; - 帮助编译器推断类型:比如
var name = "Tom";,JVM 根据"Tom"这个字符串字面量确定name是String类型; - 触发字符串常量池优化:
String a = "abc"; String b = "abc";中两个字面量指向同一内存地址,提高效率。
容易踩坑的细节
初学时几个常见误区得留心:
今客CRM客户管理系统主要是为了帮助企业解决在日常工作中遇到的客户管理等难题而开发,通过今客CRM客户管理系统可以对企业事务中的不同功能进行操作,用户通过自定义字段类型可以达到适合不同企业的需求。在今客客户关系管理系统中管理着一个企业最为完整的客户信息,全面的客户信息覆盖在企业的市场营销、销售和服务与技术支持等企业整个前端办公领域的各个环节里。它为企业带来附加价值是不可限量的。今客CRM客户管理系
立即学习“Java免费学习笔记(深入)”;
-
'a'和"a"完全不同:前者是char(2 字节),后者是String(对象,有方法可调); -
null不等于空字符串:str == null表示还没创建对象;str.equals("")表示对象存在但内容为空; - 整数超出
int范围却不加L,比如int x = 3000000000;会编译失败; - 浮点数不加
F直接赋给float变量:float f = 3.14;报错,必须写成float f = 3.14F;; - 八进制字面量以
0开头(如017表示十进制15),但易混淆,现代开发基本不用。
基本上就这些。字面量看着简单,却是 Java 类型系统和编译机制的起点——写对了,代码才稳;写错了,往往第一行就编译不过。









