一、字符串的 +
操作
1. 核心规则
-
当
+
操作中出现字符串时,+
变为字符串连接符,将前后数据拼接成新字符串。 -
连续
+
操作按从左到右顺序执行
2. 代码示例
2. 代码示例
System.out.println("123" + 123); // 输出:"123123" System.out.println(1 + 99 + "蛇年快乐"); // 输出:"100蛇年快乐" System.out.println("结果:" + 5 + 5); // 输出:"结果:55" System.out.println(5 + 5 + "是结果"); // 输出:"10是结果"
3. 关键点
-
优先判断左侧操作:只要某一侧出现字符串,后续所有
+
均为连接操作。 -
类型自动转换:非字符串类型(如
int
、char
)会被自动转为字符串后拼接。
二、字符的 +
操作
1. 核心规则
-
字符参与
+
运算时,按 ASCII 码值进行计算。 -
ASCII 值只要记住:
-
A
→ 65 -
a
→ 97
-
2. 代码示例
3. 关键点
-
混合运算优先级:若字符
+
操作后接字符串,先计算数值再拼接。 -
类型转换逻辑:
-
字符 + 字符
→ 数值相加 -
字符 + 数值
→ 数值相加
-
三、易混淆场景对比
代码示例 | 输出结果 | 原因分析 |
---|---|---|
System.out.println(1 + 2 + "3"); | "33" | 先计算1+2=3,再拼接"3" |
System.out.println("1" + 2 + 3); | "123" | 字符串开头,后续全为拼接操作 |
System.out.println('A' + 'B'); | 131 | 字符转ASCII码相加(65+66) |
System.out.println("" + 'A' + 'B'); | "AB" | 空字符串开头,后续字符直接拼接 |
四、总结图示
操作类型 | 规则 --------------- |---------------------------- 字符串 + 任意类型 | 拼接成新字符串 字符 + 字符 | 转换为ASCII码后相加(数值结果) 字符 + 数值 | 转换为ASCII码后相加(数值结果) 数值 + 数值 | 算术加法