字符串连接运算符

字符串连接运算符

加号 + 在 Java 中有两种含义,取决于两边的操作数类型:

  • 两边都是数字:表示加法运算
  • 任意一边出现字符串:表示字符串连接运算

char 与 String 的区别

类型说明示例
char字符类型,放在单引号中,只能有 一个​ 字符'A'、'北'
String字符串类型,放在双引号中,可以有 0 个或多个​ 字符"hello"、""、"www.foxdevelop.com"

示例代码

public static void main(String[] args) {
    int a = 12 + 3;              // 加法运算,a = 15
    String s = "www.foxdevelop.com";
    String s1 = "";              // 空字符串,合法
    String s2 = "www." + "foxdevelop.com"; // 字符串连接
    System.out.println(s2);      // 输出 www.foxdevelop.com

    System.out.println(1 + 1);    // 加法运算,输出 2
    System.out.println(1 + "1");  // 字符串连接,输出 "11"(文本,非数字)

    // 如果字符串与其他数据类型用 + 连接,其他数据会自动转换为字符串
    System.out.println(10 + 20 + "30"); // 从左到右计算:10+20=30,然后 30+"30"="3030"
}Code language: JavaScript (javascript)

关键规则

  1. 类型决定行为:+ 两边只要有一边是 String 类型,就执行字符串连接,而非加法。
  2. 自动类型转换:当字符串与其他数据类型连接时,其他数据会自动调用 toString() 转换为字符串。
  3. 从左到右计算:表达式 10 + 20 + "30" 中,先算 10 + 20 = 30(加法),再算 30 + "30" = "3030"(连接)。如果写成 "10" + 20 + 30,则结果是 "102030"。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注