`

关于字符串连接操作符(一)(源自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...

    USB 字符串描述符生成器.

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

    labview字符串拆分到数组 支持中文1

    在LabVIEW中处理字符串是一项常见的任务,尤其是将一个字符串拆分成多个子字符串,这通常涉及到字符串的分割操作。本篇将详细介绍如何在LabVIEW中实现“字符串拆分到数组”并支持中文字符。 一、字符串拆分的基本...

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

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

    Python字符串连接的5种方法.docx

    `join()` 是Python字符串的一个内置方法,它接受一个列表作为参数,并使用调用该方法的字符串作为连接符,将列表中的所有元素连接成一个新的字符串。例如: ```python str_list = ['Python', 'Tab'] a = '' ...

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

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

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

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

    JAVA 字符串 操作

    `split()`方法:根据指定的分隔符将字符串分割成多个子字符串,返回一个字符串数组。 7. 遍历字符串: 可以使用增强for循环或迭代器遍历字符串中的每个字符。 8. 字符串转其他类型: - `parseInt()`, `...

    Excel截取最后一个分隔符右边的字符串

    1)利用SUBSTITUTE将分隔符替换成空字符 2)利用LEN - LEN(SUBSTITUTE) 即可获取里面被替换掉了多少个分隔符 3)使用SUBSTITUTE将最后一个分隔...5)利用RIGHT或LEFT函数即可截取最后一个分隔符右边或左边的字符串内容

    java字符串中${}或者{}等的占位符替换工具类

    Java字符串中${}或者{}等占位符替换工具类是一个功能强大且实用的工具类,它可以将Java字符串中的占位符依次替换为指定的值。该工具类的主要功能是实现占位符的替换,即将字符串中的${}或者{}等占位符依次替换为args...

    pb分割字符串,自己写的split()方法

    本文将详细介绍一种自定义的`split()`方法,该方法可以在PB环境中使用,帮助开发者轻松地将字符串按照指定的分隔符进行分割,并返回一个字符串数组。下面我们将从该方法的设计思路、参数说明、代码实现以及使用示例...

    python 实现连接字符串

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

    一个关于字符串操作的程序源代码

    在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。 Input 输入一行:待处理的字符串(长度小于80)。 Output 输出一行:转换后的字符串。 Sample Input if ...

    C语言字符串拆分成字符串数组.c

    纯C语言实现字符串拆分操作,把字符串拆分成字符串数组,然后再输出。 使用sstream方法,作为底层驱动操作实现非常方便。

    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`,这个库可能还包含...

    Arduino 分割字符串库,strFenGe.rar

    在 Arduino 编程环境中,处理字符串是常见的任务之一,特别是在数据解析、日志记录或通信协议的实现中。`strFenGe.rar` 文件提供的可能是 Arduino 的一个自定义库,用于方便地根据特定分隔符分割字符串。在这个场景...

Global site tag (gtag.js) - Google Analytics