java基础小模块——字面量
本文最后更新于4 天前,其中的信息可能已经过时,如有错误请发送邮件到1464396208@qq.com

## 整体流程图 ```mermaid flowchart TD A[字面量 Literal] --> B[核心定义:数据在程序中的书写格式] B --> C[六大类数据] C --> D[数值型] C --> E[文本型] C --> F[逻辑与空值] D --> D1[整数:直接书写 666 / -88] D --> D2[小数:带小数点 13.14 / -5.21] E --> E1[字符串:双引号,内容任意可空] E --> E2[字符:单引号,有且仅有一个字符] F --> F1[布尔:true / false 表示判断结果] F --> F2[空:null 表示什么都没有,不能直接打印] B --> G[特殊字符字面量] G --> G1[转义字符:\t \r \n] G1 --> G2[\t 制表符:将前面字符串长度补齐到 8 或 8 的倍数] G2 --> G3[应用场景:表格数据对齐] ```

各章节详细知识点

📌 一、字面量的定义与分类

主题内容

字面量是 Java 基础语法中的核心概念之一,本质上是数据在程序中的书写格式。它告诉程序员:不同类型的数据,在代码里应当以什么样的形式呈现。

核心概念

  • 字面量(Literal):数据在程序中的书写格式。在部分资料中也被称作”常量”或”字面值”,但”常量”这一叫法并不严谨,最规范的说法仍是字面量
  • 字面量解决的核心问题是:在代码中要书写”18 岁””尼古拉斯阿伟””1 米 93″这类数据时,应当采用何种语法形式。

核心特性/工作原理

字面量一共覆盖六大类数据,可归为三组:

分组类型关键特征
数值型整数、小数直接书写,无需额外符号
文本型字符串、字符需用引号包裹,区分单/双引号
逻辑与空值布尔、空只有固定取值,语义特殊

对比/示例/注意事项

// 字面量就是直接写在代码里的"值"
System.out.println(18);        // 整数字面量
System.out.println("尼古拉斯阿伟"); // 字符串字面量
System.out.println(1.93);      // 小数字面量

⚠️ 注意事项:字面量是值的写法,而不是变量本身。它直接出现在代码中,表示一个固定不变的具体数据。


📌 二、整数与小数(数值型字面量)

主题内容

整数和小数是六类字面量中最简单的一类,属于数值型字面量。

核心概念

  • 整数字面量:表示没有小数部分的数值,直接书写即可,无需任何前缀或后缀符号。
  • 小数字面量:表示带小数部分的数值,通过小数点来体现,同样直接书写。

核心特性/工作原理

  • 整数和小数都支持正负数,负数在数字前加 - 号即可。
  • 数值型字面量在书写时不需要引号,这与字符串/字符形成鲜明对比。

对比/示例/注意事项

public class ValueDemo1 {
   public static void main(String[] args) {
       System.out.println(666);     // 正整数
       System.out.println(-88);     // 负整数
       System.out.println(1.93);    // 正小数
       System.out.println(-3.71);   // 负小数
  }
}

编译与运行命令:

javac ValueDemo1.java   # 编译
java ValueDemo1         # 运行

⚠️ 注意事项:整数与小数写完后不能直接单独占据一行代码——因为数据本身不构成一条完整语句,必须放在某个操作(如 System.out.println)中才有意义。


📌 三、字符串与字符(文本型字面量)

主题内容

字符串与字符是文本型字面量,二者的核心区别在于引号类型内容长度限制

核心概念

  • 字符串(String):用双引号 "..." 包裹的文本内容,用于表示一长串文本。
  • 字符(char):用单引号 '...' 包裹的单个字符,用于表示有且只有一个的字符。

核心特性/工作原理

字符串的规则——宽松:

  • 必须用双引号包裹。
  • 内部内容不受限制:可以写任意内容、任意长度。
  • 甚至可以什么都不写(空字符串 ""),也合法。
  • 只有一个空格 " " 同样是合法的字符串。

字符的规则——严格(两个条件必须同时满足):

  • 必须用单引号包裹。
  • 内部内容有且只能有一个,可以是数字、字母、中文、标点符号,但数量必须是一个。

对比/示例/注意事项

书写形式类型判定是否合法
" "(双引号包一个空格)字符串✅ 合法
""(双引号内为空)字符串(空串)✅ 合法
'abc'(单引号包三个字符)非字符,也非任何类型❌ 语法错误
public class ValueDemo1 {
   public static void main(String[] args) {
       System.out.println("黑马程序员");   // 字符串
       System.out.println("尼古拉斯阿伟"); // 字符串
       System.out.println('男');          // 字符(一个中文字符)
       System.out.println('女');          // 字符
  }
}

⚠️ 注意事项:

  • 'abc' 虽然满足了”单引号包裹”这一条件,但内部有三个字符,违反了”有且仅有一个”的约束,因此它不是字符字面量,也不是任何合法字面量,强行书写会导致编译报错。
  • 判断字符串还是字符,只看引号类型和内容数量,与内容本身是中文、数字还是标点无关。

📌 四、布尔与空类型(逻辑与空值)

主题内容

布尔类型和空类型是六类字面量中取值最特殊的一类,需要额外记忆其固定取值。

核心概念

  • 布尔(boolean):只有两个取值——true(正确)和 false(错误),用于表示判断的结果
  • 空(null):特殊值,表示什么都没有的状态。

核心特性/工作原理

布尔类型:

  • 在项目中用于分支逻辑:判断结果不同,执行的代码路径也不同。
  • 典型场景:用户登录成功为 true,登录失败为 false,两种情况下执行不同代码。
  • truefalse 在编辑器中会高亮显示,说明它们是 Java 的保留字。

空类型 null

  • 表示”什么都没有”。
  • 不能直接打印——直接写 System.out.println(null) 会编译报错。
  • 若需打印,只能用字符串形式System.out.println("null")
  • 后续在面向对象阶段会再次深入学习。

对比/示例/注意事项

public class ValueDemo1 {
   public static void main(String[] args) {
       System.out.println(true);    // 布尔:真
       System.out.println(false);   // 布尔:假
       System.out.println("null");  // 必须用字符串形式打印 null
       // System.out.println(null); // ❌ 直接打印 null 会报错
  }
}
字面量取值是否可直接打印
布尔true / false✅ 可以
null❌ 不可以,需转为 "null"

⚠️ 注意事项:nulltruefalse 虽然都高亮显示、语义特殊,但 null 表示的是”空引用”状态,其使用时机和限制与布尔值完全不同,初学阶段只需记住”不能直接打印”即可。


📌 五、特殊字符字面量与制表符 \t

主题内容

在字符字面量中还包含一批特殊字符(转义字符),常见的包括 \t(制表符)、\r(回车)、\n(换行)等,其中 \t 是本节深入讲解的重点。

核心概念

  • 转义字符:以反斜杠 \ 开头、具有特殊控制含义的字符,如 \t\r\n
  • 制表符 \t:在打印时,将前面字符串的长度补齐到 8 或 8 的倍数,最少补 1 个空格,最多补 8 个空格。

核心特性/工作原理

制表符 \t 的正确理解(常见错误说法:缩进、对齐、大空格——这些都不准确):

  • \t 只与前面的字符串长度有关,与后面的字符串无关。
  • 补齐规则:前面的长度如果是 3,则 \t 补 5 个空格(3 + 5 = 8);前面的长度如果是 4,则补 4 个空格(4 + 4 = 8)。
  • 若前面长度已达 8 的倍数,则补 8 个空格到下一个 8 的倍数(但最少补 1 个空格)。

核心用途: 让类似表格形式的数据在打印时纵向对齐,提升可读性。

对比/示例/注意事项

不加制表符(数据挤在一起):

System.out.println("name" + "h");   // 输出:nameh
System.out.println("Tom" + "23");   // 输出:Tom23

加制表符(数据对齐):

System.out.println("name" + "\t" + "h");   // name(4字符)+4空格+h
System.out.println("Tom" + "\t" + "23");   // Tom(3字符)+5空格+23

输出效果对比:

写法前段长度\t 补空格数结果
name + "\t" + h44name h
Tom + "\t" + 2335Tom 23

⚠️ 注意事项:

  • \t 既可以用单引号(字符形式 '\t')表示,也可以用双引号(字符串形式 "\t")表示,二者皆可。
  • \t 补空格时只看前面的长度,不看后面的长度,这是理解对齐效果的关键。
  • 字符串之间用 + 连接是字符串拼接操作,会把前后文本合并成一个整体后再打印。

总结

核心要点速

概念一句话总结
字面量数据在程序中的书写格式,即值本身
整数直接书写,可正可负,无需符号
小数带小数点书写,可正可负
字符串双引号包裹,内容任意、可为空
字符单引号包裹,有且仅有一个字符
'abc'非法写法,三个字符不能作字符字面量
布尔只有 truefalse,表示判断结果
null表示”什么都没有”,不能直接打印
\t制表符,将前段长度补齐到 8 或 8 的倍数
制表符用途让表格型数据在打印时纵向对齐

文末附加内容

评论

  1. laskey
    Windows Edge
    2 天前
    2026-9-16 15:00:01

    你真棒

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇