购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.4 字符串

9月15日,10:30,晴

我:“字符串是由很多字符构成的一串数据吗?”

KNOWALL:“对,就和我们的汉语句子一样,一句话由很多个词和字构成,如图4-12所示。”

图4-12 字符串

我:“能否说得详细些?”

KNOWALL:“字符串(String)是由零个或多个字符组成的有限序列,一般记为 s='a1a2…an'(n>=0)。它是编程语言中表示文本的数据类型。通常以串的整体作为操作对象,如在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。”

4.4.1 字符串的初始化

在Java程序中,使用new关键字来创建String实例如下:

在上面的这段代码中,用户创建了一个String类,并把它赋给变量,但它还是一个空的字符串,接下来就为这个字符串赋值。

在程序中,用户可以将两句代码合并产生一种简单的字符串表示。

除了上面的表示方法,还有一种字符串进行表示:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/ String1.java】如下:

执行代码,得到如图4-13所示的结果。

图4-13 字符串示例

4.4.2 String类

9月15日,10:40,晴

我:“怎么这么早就学习类了啊?我记得类是Java体系的核心内容,应该在后面章节才会学到。”

KNOWALL:“对,类是Java面向对象编程的根本,因为需求,本节只简要讲解String类,类的具体内容将在本书的后面章节进行讲解。”

我:“先简单说说类吧,就当提前练习了。”

KNOWALL:“类就是对象的模板(Template),而对象就是类的一个实例(Instance)。”

在Java程序里,String类是用来操作字符串的,其中有许多方法可供编程者使用,下面将讲解一些常用的方法。

1.索引

在Java程序设计里,有一个方法是用来返回String指定索引的位置,用户需要注意的是,它的数字是从零开始的,其格式如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/suo.java】如下:

图4-14 索引示例

执行上面的代码,得到如图4-14所示的结果。

提示: 在上面的程序中,有一个在字符串变量中的“x”,然后给它一个值是“asdfghjk”的字符串,通过倒数第3行取这个字符串的脚码为“5”的字符,因为脚码是从“0”开始的。很多人错误地认为是字母“g”,可真正的结果并不是,脚码为“5”,实际上是第6个字母,所以执行结果显示为“h”。

2.追加字符串

字符串的追加很容易理解,是指在字符串的末尾再添加字符串。追加字符串是一个比较常用的方法,希望用户牢牢记住,字符串的追加十分简单,用户只需要记住就可以了,其格式如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/zhuijiade.java】如下:

执行程序,得到如图4-15所示的结果。

3.比较字符串

比较字符串是将两个字符串进行比较,看是否相同,如果相同,则返回一个值true,如果不相同,则返回一个false值,其格式如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/bijiaode.java】如下:

执行代码,得到如图4-16所示的结果。

图4-15 追加字符串示例

图4-16 比较字符串示例

4.求字符串长度

在String方法中,有一个方法可以求字符串的长度,其格式如下:

我:“还是不太明白!”

KNOWALL:“我给你举个例子吧,其代码【光盘:源代码/第4章/Qiuzifu.java】如下。”

执行代码,得到如图4-17所示的结果。

KNOWALL:“结合代码并看执行效果,应该能体会到真正含义了吧!”

5.替换字符串

替换就是用一个东西替换另一种东西。Java的替换要完成两个动作,先查找替换目标,然后将其替换掉。使用它替换字符串十分简单,用户只需要记住这个格式就可以了,其格式如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/Tihuanzi.java】如下:

执行代码,得到如图4-18所示的结果。

图4-17 求字符串长度示例

图4-18 替换字符串示例

6.字符串的截取

在有些时候,需要从长长的字符串中截取一段字符串,这有两种格式可以实现。

第一种方法格式如下:

第二种方法格式如下:

上面两种方法都可以截取,下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/Jiequde.java】如下:

执行代码,得到如图4-19所示的结果。

7.字符串大小写互转

程序中有时需要对字符串的字母进行转换,在String类中,用户可以使用方法进行互换,将大写字母转换成小写字母,可以使用下面的方法,其格式如下:

小写转大写的格式如下:

测试3: 将一个字符串中的大写字母转换成小写字母。

解决思路: 思路如下:

(1)定义字符串x并赋值。

(2)实现字母大小写转换。

编写的实现代码【光盘:源代码/第4章/ BIG1.java】如下:

执行代码,得到如图4-20所示的结果。

图4-19 字符串的截取示例

图4-20 大写字母转换为小写字母示例

8.消除字符串中的空格

有时为特殊需要,需要将字符串中的空白符去除,其实现格式如下:

我:“太笼统了,看不明白!”

KNOWALL:“我用一段代码来演示具体的使用方法,其代码【光盘:源代码/第4章/KONGBAI.java】如下。”

图4-21 去除空白符示例

执行代码,得到如图4-21所示的结果。

提示: 用上面的这个方法去除空白时,只能去除首字母以前的空白,字符中间的空白不能消除。

4.4.3 StringBuffer类

9月15日,11:20,晴

我:“StringBuffer类有什么作用?”

KNOWALL:“ StringBuffer是Java中另一种对字符串操作的类,当需要对字符串进行大量的修改时,就要使用StringBuffer类。”

1.追加字符

在String类中可以追加字符,在StringBuffer里也可以追加字符,其格式如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/ Zhui1.java】如下:

执行代码,得到如图4-22所示的结果。

2.插入字符

追加字符总是在末尾添加内容,倘若需要在字符中添加内容,需要用到如下方法,其格式如下:

上述方法的功能是:将第2个参数的内容添加到第一个参数指定的位置。换句话说,第一个参数表示要插入的起始位置,第2个参数是需要插入的内容,它可以是包括String的任何数据类型。

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/ Cha.java】如下:

执行代码,得到如图4-23所示的结果。

图4-22 追加字符示例

图4-23 插入字符示例

3.颠倒字符

这种方法主要是将字符颠倒,如“ABC”,颠倒过来就变成“CBA”,其格式如下:

下面通过一段代码进行讲解,其代码【光盘:源代码/第4章/dian.java】如下:

执行代码,得到如图4-24所示的结果。 0lr7KzR7/LO9I1sTogEIg95YMQGLtQNpv5UrnILEM5tG/BMjX2V2ijeVTmkNN8sc

点击中间区域
呼出菜单
上一章
目录
下一章
×