这个运算符可以说是在之后的编程中,运用最多的运算符了,根据印象来看的话,仅次于赋值运算符。
这个运算符也是重载运算符,重载了+运算符。在前面也提到了,Java中再布尔运算符和位运算中,实现了不少运算符的重载。但是由于这些位运算符使用频率极低,人们几乎都忘了Java还有这么一类运算符,以至于很多时候,会把字符串连接运算符认为是Java中唯一重载的运算符。
那么当Java源代码中出现了+运算符后,它到底是加法运算符还是字符串连接运算符?这里就是Java编译器运行判断的基本原则:
当“+”用在表达式中的时候,如果其中有一个操作数是字符串类型(String),则Java会自动将另一个操作数也转换成字符串,然后将这两个字符串相连起来生成一个新的字符串。
所以这里有一个小技巧,如果你想把一个非字符串类型的数据对象变成字符串类型,那么可以通过将数字和一个空字符串相连的方式,来方便的将数字转换成字符串类型。
比如: int i=5;
String s = i+"";
这样就很容易的实现了字符串类型的转换了。这在Java编程中是一个很实用的技巧。
下面来看一个例子,来分析一下:
public class StringPlus {
public static void main(String[] agrs) {
double x = 9.987;
double y = 1;// 自动将int型的数值1提升到double类型1.0
double t = x + y;
String s = "Price is: " + x; // 得到一个字符串:“Price is:9.987”
String st = "Total Price is: " + t;
// 得到一个字符串:“Total Price is:10.987”
System.out.println(s);
System.out.println(st);
System.out.println("" + x + y);// 打印出一个字符串:“9.9871.0”
System.out.println(x + y + "");// 打印出一个字符串:“10.987”
}
}
从上面的例子中,我们可以看到,String和一个数字类型的数据进行“+”运算,将会得到一个新的字符串,这个字符串由旧的字符串和这个数字组成。
再来看这行程序:
System.out.println(""+x+y);
根据运算符从左到右的结合原则,空字符串“""”首先和x进行运算,得到一个字符串,这个字符串的内容就是“9.987”,然后,这个字符串再和数字y进行运算,此时得到一个由x和y组合成的新的字符串:9.9871.0。
比较一下下面这条语句:
System.out.println(x+y+"");
这条语句首先进行数值的相加运算,得到一个新的数值:10.987,然后再和空字符串进行连接运算,此时得到一个新的字符串,内容为“10.987”。
分享到:
相关推荐
6. **字符串连接运算符**:`.` 用于将两个字符串连接在一起。例如,`$i = 'Hello, ' . 'World';` 会产生字符串 "Hello, World"。 7. **赋值运算符**:`=` 用于将右侧的值赋给左侧的变量,还有复合赋值运算符如 `+=`...
根据给定的文件信息,本文将详细介绍如何在C++中通过重载加号运算符(+)实现字符串的连接功能。 ### C++中的运算符重载 运算符重载是C++面向对象编程的一个重要特性,它允许程序员改变内置运算符(如+、-、*等)...
3. 字符串附加:使用 `+=` 运算符可以将两个字符串连接起来,例如 `str1 += str2`。使用 `append` 函数可以将第二个字符串连接到第一个字符串上,例如 `str1.append(str2)`。使用 `append` 函数可以将第二个字符串的...
我们重载了“+”运算符,使得我们可以使用“+”来连接字符串。 RString operator+ (const RString &other); 3. 字符串删除运算符重载 我们重载了“-”运算符,使得我们可以使用“-”来删除子串。 RString ...
字符串的连接可以使用`+`运算符,将两个或多个字符串拼接成一个新的字符串,例如`s1 = s1[:13] + "cool."`。此外,`*`运算符可以用来重复一个字符串,例如`'hello' * 3`会产生`'hellohellohello'`的结果。 Python还...
- `+`运算符:可以连接两个字符串,例如`str1 + str2`。 - `StringBuilder`和`StringBuffer`类:用于大量字符串拼接,线程安全,性能优于`+`。 5. 查找与替换: - `indexOf()`:查找子字符串首次出现的位置。 -...
1. JavaScript的字符串拼接:在JavaScript中,"+"运算符可以用于字符串连接。 2. 字符串格式化:虽然JavaScript没有内置的类似C#的`String.Format()`,但可以通过模板字符串(使用反引号 `` ` ``)来实现简单的格式...
在C++中,字符串连接通常通过`+`运算符或`std::string`的`append`成员函数来完成。面向对象编程中,我们还可以通过自定义类的方法来实现字符串的连接功能。 1. **使用`+`运算符连接字符串**:这是最简单直接的方式...
4. **连接运算符**:`&`用于将多个字符串连接成一个字符串。 5. **Like运算符**:用于字符串的模式匹配,如`"abc" Like "a*"`返回True,因为"a"匹配任何以"a"开头的字符串。 6. **Is运算符**:检测表达式的值是否为...
在给定的实例中,变量`a`的值为"Hello",变量`b`的值为"Python",当我们使用`a + b`,结果将是"HelloPython",这就是字符串连接的实例。 其次,"*"运算符可以用来重复输出字符串。例如,`a * 2`会将"Hello"这个字符...
本文将深入探讨在Java中使用不同方法进行字符串连接时的性能差异,特别是针对“+”运算符与`StringBuffer`类在大量字符串连接操作中的表现。 ### 标题解析:“字符串连接方面测试时间” 标题明确了文章的核心主题...
6. **字符串连接运算符**:在ASP中,使用"&"运算符可以将两个字符串连接起来,例如`var str = "Hello, " & "World!";`将得到"Hello, World!"。 7. **条件运算符(三元运算符)**:ASP不直接支持三元运算符,但在...
2. 字符串连接:使用`+`运算符可以连接两个字符串,或者使用`String.Concat()`方法。 3. 字符串格式化:`String.Format()`方法允许你构建格式化的字符串,如`String.Format("Name is {0}", "John")`。 4. 字符串...
字符串可以进行各种操作,如字符串连接、字符串分割、字符串检索、字符串格式化等。本文将详细介绍Python中字符串的各种操作和应用。 字符串常用操作 1. 字符串分割:使用split()方法可以将一个字符串分割成多个子...
这里主要涉及两种字符串连接运算符: 1. **连接运算符(`.`)**:这个运算符用于将两个字符串合并成一个新的字符串。例如,在示例中: ```php $a = "Hello "; $b = $a . "World!"; // 现在 $b 包含 "Hello World!" ...
- `+=`:字符串连接操作符,如`s += " more text"`。 - `append(str)`:在字符串末尾追加另一个字符串。 10. 字符串的拷贝与交换: - `swap(other)`:交换两个字符串的内容,高效且不会造成额外的内存开销。 - ...
- **JavaScript**:JavaScript的`+`运算符同样适用于字符串连接,另外还有模板字符串(`模板字面量`)的方式,用反引号(``)包裹,支持嵌入表达式 `${}`。 - **C/C++**:C和C++中没有内置的字符串连接函数,通常...
1. 字符串连接:MATLAB提供了 `strcat` 函数来连接两个或多个字符串,或者使用 `+` 运算符(在适当的情况下)。例如,`str1 = 'Hello'; str2 = 'World'; result = strcat(str1, ', ', str2);` 结果为 "Hello, World...
3. 字符串拼接:连接两个或更多字符串,如Python的`+`运算符,或Java的`String.concat()`。 4. 子串提取:通过切片或子字符串方法获取字符串的一部分。 5. 字符串查找:查找子串在主字符串中的位置,如Python的`find...