将数值表达式的值与另一数值表达式相加,或连接两个字符串。
expression1 + expression2
- expression1
任何表达式。
- expression2
任何表达式。
表达式的类型决定 + 运算符的行为。
如果 | 则执行 | 结果类型 |
---|---|---|
两个表达式都是字符 |
连接 |
String |
两个表达式都是数字 |
相加 |
numeric |
两个表达式都是字符串 |
连接 |
String |
一个表达式为字符,而另一个表达式为数字 |
相加 |
char |
一个表达式为字符,而另一个表达式为字符串 |
连接 |
String |
一个表达式为数字,而另一个表达式为字符串 |
连接 |
String |
若进行串联,数字将被强迫转换为数值的字符串表示形式,字符将被当作长度为 1 的字符串。若将字符和数字相加,字符将被强迫转换为数值,而后将两个数字相加。
![]() |
---|
在没有使用类型批注的情况下,可将数值数据存储为字符串。使用显式类型转换或类型注释变量可确保加法运算符不会将数字视为字符串,反之亦然。 |
下面的示例阐释加法运算符如何处理不同类型的表达式。
var str : String = "42"; var n : double = 20; var c : char = "A"; // the numeric value of "A" is 65 var result; result = str + str; // result is the string "4242" result = n + n; // result is the number 40 result = c + c; // result is the string "AA" result = c + n; // result is the char "U" result = c + str; // result is the string "A42" result = n + str; // result is the string "2042" // Use explicit type coversion to use numbers as strings, or vice versa. result = int(str) + int(str); // result is the number 84 result = String(n) + String(n); // result is the string "2020" result = c + int(str); // result is the char "k"要求请参见
参考
加法赋值运算符 (+=)概念
运算符优先级运算符摘要
类型转换