String str1 = 1+2+" apples";
String str2 = "apples:"+1+2;
System.out.println(str1);
String str2 = "apples:"+1+2;
System.out.println(str1);
System.out.println(str2);
这样一段代码运行结果如下:
3 apples
apples:12
看到这样的结果你作何感想?
这都是源于java对加号的处理机制的原因,对于第一个表达式,实际运行如下:
String str1 =(1+2).toString + " apples";
对于第二个表达式,运行结果如下:
String str2 = “apples:”+(1).toString() + (2).toString();
java在使用加号时,只要遇到字符串都会调用toString方法后去拼接字符串;所以运行结果上显示。
js:
var n1 = 1;
var n2 = 1;
var n3 = "4";
alert(n1+n2);
alert(n1+n3);
运行结果为:
2
14