-
在 Java 中,加号 + 有两个作用:进行加法运算、字符串拼接;
那,如何区分代码中的 + 是起什么作用呢?
- 当 + 左右两边操作数至少有一个为字符串时,+ 起到字符串拼接的作用,此时若要进行数值型的运算需要加括号
- 当 + 左右两边操作数都是数值型时,使用 + 就进行加法运算
具体代码示例如下:
int x=20,y=5;
char a='你',b='好'; // char是整数类型,在内存单元中以整数形式存放
// + 两边均为数值型时,+ 进行加法运算
System.out.println(x+y); // 25
System.out.println((x+y)+y); // 30
System.out.println(a+b); // 43229
System.out.println("********");
// + 左右两边至少有一个为字符串时,+ 为拼接符,此时若要进行数值型的运算需要加括号
System.out.println(""+x+y); // 205
System.out.println(""+(x+y)); // 25
System.out.println(""+(x+y)+y); // 255
System.out.println(x+y+""+(x+y)+y); // 25255
System.out.println(""+a); // 你
System.out.println(""+a+b); // 你好
System.out.println(""+(a+b)); // 43229
System.out.println(""+(a+b)+b); // 43229好
System.out.println(a+""+b); // 你好
结果如下:
2.+ 与 append方法的区别:
-
加号 + 的底层是 new 一个StringBuilder 对象,再调用 append 方法,故性能较低
-
若拼接次数较少,使用两者均可;拼接次数较多,使用 append() 性能会好一些