📘 Java 字面量与加号运算符规范指南


🔢 一、字面量(Literals)

📌 定义

字面量:程序中直接书写的数据值,是 Java 最基本的表达式,无需计算或转换,可直接使用。
✅ 本质:代码中“硬编码”的原始数据


🗂️ 字面量类型与规范

类型 书写规范 示例 注意事项
整数型 直接书写整数 10, -5, 0, 100 默认 int 类型
浮点型 含小数点或科学计数法 3.14, -0.5, 1.0 默认 double 类型
布尔型 仅两个关键字 true, false 全小写,不可加引号
字符型 单引号包裹单个字符 'A', '中', '1' ❌ 禁止 'AB'(多字符)
字符串型 双引号包裹任意字符序列 "Hello", "你好呀", "A" 可包含空格、标点、汉字

⚠️ 关键区别

  • 'A'字符型(char,占2字节)
  • "A"字符串型(String,对象)

💻 代码示例:ConstTest01.java

/*
Java中的字面量:
1. 什么是字面量?
   程序中的数据就是字面量。字面量是Java中最基本的表达式,无需转换,直接使用。
2. 字面量包括哪些类型?
   整数型字面量、浮点型字面量、布尔型字面量、字符型字面量、字符串型字面量
*/

public class ConstTest01 {
    public static void main(String[] args) {
        // 整数型字面量
        System.out.println(10);    // 输出:10
        System.out.println(-100);  // 输出:-100

        // 浮点型字面量
        System.out.println(3.14);  // 输出:3.14

        // 布尔型字面量
        System.out.println(true);   // true代表真
        System.out.println(false);  // false代表假

        // 字符型字面量(单个字符)
        // ✅ 正确:单引号包裹单个字符
        System.out.println('A');
        System.out.println('中');
        System.out.println('T');
        // ❌ 错误:单引号不能包裹多个字符(已注释)
        // System.out.println('AB'); 

        // 字符串型字面量
        // ✅ 正确:双引号包裹任意长度字符串
        System.out.println("动力节点");
        System.out.println("A");           // 注意:与 'A' 类型不同!
        System.out.println("Hello World!");
    }
}

➕ 二、加号运算符 + 的双重作用

🌟 核心规则

场景 作用 结果类型 示例
两边均为数字 求和运算 数字类型 10 + 2030
任意一边为字符串 字符串拼接 String "10" + 20"1020"

💡 黄金法则
“遇字符串即拼接” —— 只要 + 两侧有任意一侧是字符串,整个表达式立即转为字符串拼接!


💻 代码示例:PlusTest01.java

/*
Java语言中的 + 运算符:
1. 两个作用:
   - 求和(两侧均为数字)
   - 字符串拼接(任意一侧为字符串)
2. 运算顺序:
   - 无括号:从左到右依次计算
   - 有括号:优先计算括号内表达式
*/

public class PlusTest01 {
    public static void main(String[] args) {
        // 求和(两侧均为数字)
        System.out.println(10 + 20);        // 输出:30

        // 字符串拼接(左侧为字符串)
        System.out.println("10" + 20);      // 输出:"1020"

        // 无括号:从左到右计算
        // 10+20=30(求和) → "30"+"30"(拼接)
        System.out.println(10 + 20 + "30"); // 输出:"3030"

        // 有括号:优先计算括号内
        // (20+"30")="2030"(拼接) → "10"+"2030"(拼接)
        System.out.println(10 + (20 + "30")); // 输出:"102030"

        // 从左到右:字符串触发后续全部拼接
        System.out.println("10" + 20 + 30); // 输出:"102030"

        // 括号内先求和:20+30=50 → "10"+"50"
        System.out.println("10" + (20 + 30)); // 输出:"1050"
    }
}

📊 运算逻辑速查表

表达式 计算步骤 最终结果 类型
10 + 20 + "30" (10+20)=30"30"+"30" "3030" String
10 + (20 + "30") (20+"30")="2030""10"+"2030" "102030" String
"10" + 20 + 30 "10"+20="1020""1020"+30="102030" "102030" String
"10" + (20 + 30) (20+30)=50"10"+"50" "1050" String

✅ 核心总结

🔑 字面量要点

  • 字符用 单引号 ' ',字符串用 双引号 ""
  • 布尔值 必须小写true / falseTrue 会编译报错!)
  • 字符串可包含任意字符(汉字、空格、标点)

🔑 + 运算符要点

条件 行为 记忆口诀
两侧均为数字 数值相加 “数字相加”
任意一侧为字符串 全部转为字符串拼接 “遇字即拼”
多个 + 连用 无括号:左→右;有括号:先算括号 “括号优先”

💡 开发建议
拼接字符串时,若需先计算数值,务必加括号

// 错误:输出 "工资:50003000"
System.out.println("工资:" + 5000 + 3000);

// 正确:输出 "工资:8000"
System.out.println("工资:" + (5000 + 3000));

🌟 学习价值

掌握字面量规范与 + 运算符逻辑,是:

  • ✅ 避免“类型错误”编译问题的基础
  • ✅ 理解 Java 类型系统的第一步
  • ✅ 编写清晰、无歧义代码的关键

📚 延伸思考
为什么 'A' + 1 输出 66?(提示:字符在运算时会转为 ASCII 码)
欢迎在练习中探索! 😊

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐