3.2 Java 运算符(字符串和字符的加操作)

张开发
2026/4/16 22:38:13 15 分钟阅读

分享文章

3.2 Java 运算符(字符串和字符的加操作)
一、核心概念在 Java 中运算符不仅仅用于数值相加它还具有字符串拼接功能。当表达式中包含String类型时会优先执行字符串拼接操作。关键点只要有一个操作数是String整个表达式就变成字符串拼接二、字符串拼接的基本规则规则总结情况结果类型示例String StringStringHello World→HelloWorldString intString年龄 25→年龄25String doubleString价格 9.99→价格9.99String charString字母 A→字母Aint intint3 4→7String (int int)String和 (3 4)→和7注意是左结合的但遇到String会“触发”拼接行为。三、重点示例详解示例 1基本拼接String s1 Hello; String s2 World; System.out.println(s1 s2); // 输出HelloWorld示例 2字符串 数字int age 25; System.out.println(我今年 age 岁); // 输出我今年25岁示例 3数字 字符串注意顺序int a 10; String b 岁; System.out.println(a b); // 输出10岁示例 4数字 数字 字符串注意优先级int x 10; int y 20; String msg 结果是 x y; // ❌ 会输出结果是1020不是30 System.out.println(msg);为什么是1020而不是30因为是从左到右结合的先计算结果是 x→结果是10再计算结果是10 y→结果是1020所以如果想先做数学加法必须使用括号正确写法String msg 结果是 (x y); // 输出结果是30四、字符char参与拼接字符可以直接与字符串拼接char c A; System.out.println(字母 c); // 输出字母Achar本质是一个整数ASCII 码但在拼接时会被当作字符处理。注意字符也可以参与算术运算char ch A; // ASCII 码为 65 int num ch 1; // num 66 System.out.println(num); // 输出66 System.out.println(ch 1); // 输出66因为变成了字符串拼接不 // 但是 System.out.println(字符 ch 1); // 输出字符A1 // 因为先拼接成 字符A再拼接 1 → 字符A1如果你想显示B应该这样写System.out.println(字符 (ch 1)); // 输出字符66 // 或者 System.out.println(字符 (char)(ch 1)); // 输出字符B五、常见陷阱与避坑指南问题错误代码正确做法拼接顺序错误和 3 4→和34和 (3 4)→和7忽略括号成绩 85 %→成绩85%✅ 可以没问题字符转数字混淆A 1→66不是 B(char)(A 1)→B六、运算符的重载特性Java 的运算符是重载的overloaded根据操作数类型决定行为操作数类型行为数值 数值数学加法String 任意类型字符串拼接将右边转换为字符串本质Java 会调用toString()方法将非字符串类型转换为字符串。例如Integer i 100; System.out.println(数字 i); // 自动调用 i.toString()七、性能提示高级知识频繁拼接字符串使用StringBuilder// ❌ 不推荐频繁使用 拼接字符串 String result ; for (int i 0; i 1000; i) { result i; // 每次创建新字符串对象效率低 } // ✅ 推荐使用 StringBuilder StringBuilder sb new StringBuilder(); for (int i 0; i 1000; i) { sb.append(i); } String result sb.toString();StringBuilder是可变的避免了大量临时对象的创建。八、练习题Q11 2 3的结果是什么System.out.println(1 2 3); // 输出123解析1 2→12再 3→123Q21 2 3的结果是什么System.out.println(1 2 3); // 输出33解析1 2→3再 3→33Q3abc d的结果是什么System.out.println(abc d); // 输出abcd九、完整代码示例public class StringConcatDemo { public static void main(String[] args) { // 基本拼接 System.out.println(Hello World); // HelloWorld // 字符串 数字 int age 25; System.out.println(我今年 age 岁); // 我今年25岁 // 数字 字符串注意顺序 System.out.println(10 岁); // 10岁 System.out.println(10 20); // 1020 // 括号控制优先级 System.out.println(和 (10 20)); // 和30 // 字符拼接 char ch A; System.out.println(字母 ch); // 字母A // 字符 数字算术 vs 拼接 System.out.println(ch 1); // 66ASCII码 System.out.println(字母 ch 1); // 字母A1拼接 System.out.println(字母 (ch 1)); // 字母66 System.out.println(字母 (char)(ch 1)); // 字母B } }

更多文章