java中+和+=操作符除了之前讲到的作用外,在特殊的上下文环境中是可以用作字符连接的。所以他们又称为字符串操作符,字符串操作符有一些很有趣的行为。如果表达式以一个字符串起头,那么后续所有的操作数都必须是字符串型(编译器会自动将双引号中的字符序列传化成字符串):
public class stringoperators{
public static void main(string [] args){
int x=0,y=1,z=2;
string s=”x,y,z”;
system.out.println(s+x+y+z);
system.out.println(x+””+s);
s+=”(summed) =”;
system.out.println(s+(x+y+z));
system.out.println(“”+x);
}
}
输出
x,y,z 012
0 x,y,z
x,y,z (summed) = 3
0
应注意的是第一行输出的是012而不是总和3,是因为编译器将他们自动转化成了字符串形式,最后部分用+=讲一个字符串追加到了s上,并且用括号来控制了编译器的转换,使他们可以顺利求和