`
liuwei1981
  • 浏览: 770346 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:160786
社区版块
存档分类
最新评论

46.字符串连接运算符

 
阅读更多

这个运算符可以说是在之后的编程中,运用最多的运算符了,根据印象来看的话,仅次于赋值运算符。

 

这个运算符也是重载运算符,重载了+运算符。在前面也提到了,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”。

分享到:
评论

相关推荐

    PHP运算符,包括算数运算符、递增递减运算符、比较运算符、逻辑运算符、三元运算符、字符串连接运算符、赋值运算符、位运算符

    6. **字符串连接运算符**:`.` 用于将两个字符串连接在一起。例如,`$i = 'Hello, ' . 'World';` 会产生字符串 "Hello, World"。 7. **赋值运算符**:`=` 用于将右侧的值赋给左侧的变量,还有复合赋值运算符如 `+=`...

    C++重载+完成字符串连接

    根据给定的文件信息,本文将详细介绍如何在C++中通过重载加号运算符(+)实现字符串的连接功能。 ### C++中的运算符重载 运算符重载是C++面向对象编程的一个重要特性,它允许程序员改变内置运算符(如+、-、*等)...

    C++字符串处理大集合

    3. 字符串附加:使用 `+=` 运算符可以将两个字符串连接起来,例如 `str1 += str2`。使用 `append` 函数可以将第二个字符串连接到第一个字符串上,例如 `str1.append(str2)`。使用 `append` 函数可以将第二个字符串的...

    string类运算符重载[参考].pdf

    我们重载了“+”运算符,使得我们可以使用“+”来连接字符串。 RString operator+ (const RString &other); 3. 字符串删除运算符重载 我们重载了“-”运算符,使得我们可以使用“-”来删除子串。 RString ...

    5. 字符串1

    字符串的连接可以使用`+`运算符,将两个或多个字符串拼接成一个新的字符串,例如`s1 = s1[:13] + "cool."`。此外,`*`运算符可以用来重复一个字符串,例如`'hello' * 3`会产生`'hellohellohello'`的结果。 Python还...

    JAVA 字符串 操作

    - `+`运算符:可以连接两个字符串,例如`str1 + str2`。 - `StringBuilder`和`StringBuffer`类:用于大量字符串拼接,线程安全,性能优于`+`。 5. 查找与替换: - `indexOf()`:查找子字符串首次出现的位置。 -...

    常用字符串处理整理.rar

    1. JavaScript的字符串拼接:在JavaScript中,"+"运算符可以用于字符串连接。 2. 字符串格式化:虽然JavaScript没有内置的类似C#的`String.Format()`,但可以通过模板字符串(使用反引号 `` ` ``)来实现简单的格式...

    字符串的连接 c++

    在C++中,字符串连接通常通过`+`运算符或`std::string`的`append`成员函数来完成。面向对象编程中,我们还可以通过自定义类的方法来实现字符串的连接功能。 1. **使用`+`运算符连接字符串**:这是最简单直接的方式...

    标识符及运算符的使用.docx

    4. **连接运算符**:`&`用于将多个字符串连接成一个字符串。 5. **Like运算符**:用于字符串的模式匹配,如`"abc" Like "a*"`返回True,因为"a"匹配任何以"a"开头的字符串。 6. **Is运算符**:检测表达式的值是否为...

    测量程序编制 - python 14数据类型:String(字符串)-字符串运算符.pptx

    在给定的实例中,变量`a`的值为"Hello",变量`b`的值为"Python",当我们使用`a + b`,结果将是"HelloPython",这就是字符串连接的实例。 其次,"*"运算符可以用来重复输出字符串。例如,`a * 2`会将"Hello"这个字符...

    字符串连接方面测试时间

    本文将深入探讨在Java中使用不同方法进行字符串连接时的性能差异,特别是针对“+”运算符与`StringBuffer`类在大量字符串连接操作中的表现。 ### 标题解析:“字符串连接方面测试时间” 标题明确了文章的核心主题...

    asp运算符图片运算符图片

    6. **字符串连接运算符**:在ASP中,使用"&"运算符可以将两个字符串连接起来,例如`var str = "Hello, " & "World!";`将得到"Hello, World!"。 7. **条件运算符(三元运算符)**:ASP不直接支持三元运算符,但在...

    C#字符串和正则表达式参考手册

    2. 字符串连接:使用`+`运算符可以连接两个字符串,或者使用`String.Concat()`方法。 3. 字符串格式化:`String.Format()`方法允许你构建格式化的字符串,如`String.Format("Name is {0}", "John")`。 4. 字符串...

    完整版 零基础学Python课件05 第5章 字符串及表达式.ppt

    字符串可以进行各种操作,如字符串连接、字符串分割、字符串检索、字符串格式化等。本文将详细介绍Python中字符串的各种操作和应用。 字符串常用操作 1. 字符串分割:使用split()方法可以将一个字符串分割成多个子...

    PHP程序设计-3期(KC016) 2.5.7字符串连接拓展知识.doc

    这里主要涉及两种字符串连接运算符: 1. **连接运算符(`.`)**:这个运算符用于将两个字符串合并成一个新的字符串。例如,在示例中: ```php $a = "Hello "; $b = $a . "World!"; // 现在 $b 包含 "Hello World!" ...

    C++字符串使用.doc

    - `+=`:字符串连接操作符,如`s += " more text"`。 - `append(str)`:在字符串末尾追加另一个字符串。 10. 字符串的拷贝与交换: - `swap(other)`:交换两个字符串的内容,高效且不会造成额外的内存开销。 - ...

    连接 字符 串.rar

    - **JavaScript**:JavaScript的`+`运算符同样适用于字符串连接,另外还有模板字符串(`模板字面量`)的方式,用反引号(``)包裹,支持嵌入表达式 `${}`。 - **C/C++**:C和C++中没有内置的字符串连接函数,通常...

    matlab零基础入门彩色图像技术:10 深入学习字符串.zip

    1. 字符串连接:MATLAB提供了 `strcat` 函数来连接两个或多个字符串,或者使用 `+` 运算符(在适当的情况下)。例如,`str1 = 'Hello'; str2 = 'World'; result = strcat(str1, ', ', str2);` 结果为 "Hello, World...

    5_4.zip_字符串

    3. 字符串拼接:连接两个或更多字符串,如Python的`+`运算符,或Java的`String.concat()`。 4. 子串提取:通过切片或子字符串方法获取字符串的一部分。 5. 字符串查找:查找子串在主字符串中的位置,如Python的`find...

Global site tag (gtag.js) - Google Analytics