`

关于字符串连接操作符(一)(源自IBM蓝色之路一道笔试题目)

阅读更多
public class LastLaugh {
public static void main(String args[])
{
System.out.print("H"+"a");
System.out.print('H'+'a');
}
}
结果输出的不是“HaHa”,而是Ha169。

究其原因,编译器在计算常量表达式'H'+'a'时,是通过拓宽原生类型转换将两个具有字符型数值的操作数提升为int数值而实现的。
从char到Int的拓宽原生类型转换是将16位的char数值零扩展到32位的int。
'H'=72,'a'=97,'H'+‘a'=169.

接下来的问题是:如何将两个字符连接在一起呢?
三种办法:
一、用字符串缓冲区:
StringBuffer sb = new StringBuffer();
sb.append('H');
sb.append('a');
System.out.println(sb);
二、用一个空字符串("")作为连接序列的开始:
System.out.println('H'+'a');
三、如果使用的是JDK5.0,还可以这样:
System.out.printf("%c%c",'H','a');

总结:当且仅当+操作符的操作数种至少有一个是String类型的时,才会执行字符串连接操作;否则,执行加法。
如果要连接的类型没有一个是String类型的,你有以下几种选择:
预置一个空字符串;
将第一个数值用String.valueOf显式第转换成一个字符串;
使用一个字符串缓冲区;
如果是JDK5.0,可以用printf方法。


分享到:
评论

相关推荐

    字符串基本操作-复制,连接,比较等

    同样地,通过两个指针分别指向被连接字符串和目标字符串,在被连接字符串的末尾继续添加另一个字符串的字符,最后添加结束符来完成连接操作。 示例代码如下: ```c int link(char *a, char *b) { while (*a != '\0...

    PHP程序设计-3期(KC016) 2.5.7字符串连接课后习题.doc

    在这个课后习题中,我们将深入理解如何使用点操作符(`.`)和附加赋值操作符(`.=`)来连接字符串,以及它们在不同情况下的行为。 首先,让我们分析提供的代码片段: ```php $x = "Hello"; $y = " world."; $z; $z...

    LabVIEW删除字符串中空格

    在LabVIEW中,处理字符串是常见的任务之一。本篇将详细讲解如何在LabVIEW中删除字符串中的空格以及计算字符长度。 在LabVIEW中,字符串通常以文本框(String Control)或字符串常量(String Constant)的形式存在。...

    字符串分割的字符串数量 SQL

    在数据库管理和数据处理领域中,经常需要对存储在字段中的字符串进行处理,特别是当这些字符串包含了多个值时,通过分隔符将其分割成独立的部分是常见的需求之一。本篇文章将详细介绍如何利用SQL语言实现这一功能,...

    USB 字符串描述符生成器.

    USB 字符串描述符生成器. 目前只支持英文

    字符串连接

    不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。 输入: 每一行包括两个字符串,长度不超过100。 输出: 可能有多组测试数据,对于每组数据, 不借用任何字符串库函数实现无冗余...

    USB字符串描述符生成器_HID报告生成工具

    其中,字符串描述符包含了设备的制造商、产品和序列号等信息,这些信息以ASCII编码的字符串形式存在,使得用户和操作系统可以直观地了解连接的设备。USB字符串描述符生成器可以帮助开发者方便地创建和管理这些描述符...

    asp字符串连接符&、多个字符串相加、字符串拼接类

    `Join`函数允许你将一个数组的所有元素连接成一个单一的字符串,使用指定的分隔符。比如: ```asp Dim strArray() strArray = Array("链接1", "链接2", "链接3") response.write Join(strArray, " ") ``` 这样...

    C语言字符串练习(习题+答案).zip

    本资源"《C语言字符串练习(习题+答案).zip》"正是针对这一需求而准备的,它包含了C语言字符串操作的专项练习题和对应的答案,帮助学习者巩固和提升在字符串处理方面的技能。 字符串在C语言中扮演着重要角色,它们...

    QT中字符串的比较、查找、替换等操作 - 大存的博客1

    `join()`函数允许我们将一个字符串列表用特定的分隔符连接成一个单一的字符串。 11. **大小写转换**: `toLower()`和`toUpper()`方法可以将字符串转换为全小写或全大写。 掌握这些操作后,开发者能够灵活地处理...

    labview字符串创建数组

    在LabVIEW中,字符串操作是常见的任务之一,特别是在数据处理和信息传递中。要将单个字符串创建成字符串数组,我们需要了解LabVIEW的基本数据结构和编程方法。以下是一些关于如何在LabVIEW中创建字符串数组的关键...

    c#字符串操作方法实例

    因此,出于性能方面的原因,大量的连接或其他涉及字符串的操作应当用 StringBuilder 类执行。 2. 转义字符 在 C# 中,字符串中可以包含转义符,如“\n”(新行)和“\t”(制表符)。如果希望包含反斜杠,则它前面...

    python 实现连接字符串

    # 题目:连接字符串。 # 题目:两个字符串连接程序。

    work2_分割字符串_字符串处理_

    字符串分割是将一个长字符串依据特定的分隔符切割成多个子字符串的操作。在不同的编程语言中,这个过程有不同的实现方式。 在C语言中,`strtok()` 函数是用于分割字符串的标准库函数。例如,如果你有一个以空格分隔...

    lua字符串按分割符分割成数组

    根据传入的字符串以及分割符号进行拆分,拆分成对应的字符串数组

    pb split() 字符串分割函数

    在编程领域,字符串处理是日常开发中的重要环节,而`split()`函数则是一个常见的字符串操作,用于将一个字符串按照特定的分隔符切分成多个子字符串。在这个场景中,我们关注的是一个名为"pb split()"的自定义字符串...

    sql 多行合并某一列字符串拼接的示例

    在SQL中,字符串拼接是指将多个字符串值连接成一个单一的字符串。不同的数据库系统提供了不同的函数或操作符来实现这一功能。例如,在SQL Server中,可以使用`+`操作符或`CONCAT()`函数;在MySQL中,主要使用`CONCAT...

    C语言实现字符串截取

    该函数返回一个新的字符串,该字符串包含了原字符串中从 `begin` 到 `end`(包括 `end`)的所有字符。 #### 参数说明 - **Input**: - `string`:原始字符串。 - `begin`:截取的起始索引(包含)。 - `end`:...

    (c#)字符串转换成字符数组 字符串转换成int 数组

    如果字符串中包含分隔符(如逗号、空格等),可以使用`Split()`方法来分割字符串,并将结果存储在一个字符串数组中。例如: ```csharp string str = "a,b,c,d"; string[] arr = str.Split(','); // 输出结果:a b ...

    纯C++ 字符串处理函数大全源码

    `Split`函数可能接收一个字符串和一个分隔符作为参数,返回一个字符串向量,其中每个元素都是原字符串中由分隔符分隔的部分。这样的功能在处理文本数据、日志解析等场景中非常有用。 除了`Split`,这个库可能还包含...

Global site tag (gtag.js) - Google Analytics