第十章总结

一、字符串:字符串是 Java 程序中经常处理的对象,如果字符串运用得不好,将影响到程序运行的效率。在 Java中,字符串作为 String 类的实例来处理。以对象的方式处理字符串,将使字符串更加灵活、方便。了解字符串上可用的操作,可以节省程序编写与维护的时间。本章从创建字符串开始向读者讲解字符串本身的特性以及字符串上可用的重要操作等。

 

 1.String类:单个字符可以用 char 类型保存,多个字符组成的文本就需要保存在 String 对象中。String 通常被称为字符串,一个 String 对象最多可以保存 (232-1) 个字节(占用4GB 空间大小)的文本内容。

1.1.声明字符串:在 Java 语言中,字符串必须包含在一对双引号(”“) 之内。例如:"23.23"、"ABCDE"、"你好"     以上这些都是宇符串常量,宇符串常量可以是系统能够最示的任何文字信息,甚至可以是单个字符。

可以通过以下语法格式来声明宇符串变量:Strg str

String:指定该变量为字符串类型。
 str:任意有效的标识符,表示字符串变量的名称。

1.2.创建字符串:在Java 语言中,将字符串作为对象来处理,因此可以像创建其他类对象一样来创建字符串对象。创建对象要使用类的构造方法。String 类的常用构造方法如下。

1. String(char a[])
该方法用一个字符数组 a 创建 String 对象,代码如下:

2.String(char a[], int offset, int length)

该方法提取字符数组 a 中的一部分创建一个字符串对象。参数 offset 表示开始截取字符串的位置length 表示截取字符串的长度。代码如下:

3.String(char[] value)
该构造方法可分配一个新的 String 对象,使其表示字符数组参数中所有元素连接的结果。代码如下:

除通过以上几种使用 String 类的构造方法来创建字符串变量外,还可通过将字符串常量的引用赋值给一个字符串变量来创建字符串。代码如下:

2.链接字符串:对已声明的字符串,也可以对其进行相应的操作,链接字符串就是字符操作中比较简单的一种。可以对多个字符进行连接,也可以使字符串与其他数据类型进行连接。

1.连接多个字符串:使用“+”运算符可实现连接多个字符串的功能。“+”运算符可以连接多个String对象并产生一个新的String对象

例题10.1:先链接一副对联的上下联,再分行输出再控制台上

 2.链接其他数据类型:字符串也可同其他基本数据类型相连接。如果将字符串同其他数据类型数据进行连接,会将其他数据类型的数据直接转换成字符串。

课堂习题:

 3.获取字符串信息

3.1.获取字符串长度:                                                                                                                     使用String类的 length()方法可获取声明的字符串对象的长度。语法如下:str.length();                    其中,str 为字符串对象。
获取字符串长度,代码如下:

 3.2.字符串查找:Sing类提供了两种查找字符串的方法,即indexOf()与lastIndex0f()方法。这两种方法都允许在3将串中搜案指定条件的字符或字符串。idexOf()方法返回的是搜索的字符或字符串首次出现的位置laslndexOf方法返国的是搜案的字将或字将串最后一次出现的位置.

3.2.1 indexOf(String s):该方法期于返国参数字符串s 在指定字符串中首次出现的索引位置。当调用 String 类的 indexOf方注时,会从当前字符串的开始位置搜索s的位置。如果没有检索到字符串 s,该方法的返回值是-1。

语法:str.indexOf(substr).

3.2.2 lastindexOf(String str):该方法用于返回指定字符串最后一次出现的索引位置。当调用 String类的 lastIndexOf()方法时,会从当前字符串的开始位置检索参数字符串 str,并将最后一次出现 str 的索引位置返回。如果没有检索到字符串 str,该方法返回-1。

语法:str.lastindexOf(substr).

例题10.3

 3.3.获取指定索引位置的字符:使用charAt()方法可将指定索引处的字符返回。                           语法如下:str.charAt(int index).

例题10.4:

 4.字符串操作:通过String 类的substring0方法可对字符串进行截取。substring0方法被两种不同的重载形式,来满足不同的需要。这些形式的共同点就是都利用字符串的下标进行截取,且应明确字符串下标是从0开始的。

4.1.1 substring(int beginIndex):

该方法返回的是从指定的索引位置开始截取直到该字符串结尾的子串。语法如下:str.substring(int beginIndex)   其中,beginIndex 指定从某一索引处开始截取字符串.

截取字符串代码:

 4.1.2  substring(int beginlndex, int endIndex):

该方法返回的是从字符串某一索引位置开始截取至某一索引位置结束的子串。

语法如下:substring(int beginlndex, int endlndex)

例题10.5:

 4.2去除空格:

trim()方法返回字符串的副本,忽略前导空格和尾部空格。语法如下:str.trim()   其中,str 为任意字符串对象.

例题10.6;

 4.3字符串替换:replace0方法可实现将指定的字符或字符串替换成新的字符或字符串。                 语法如下:str.replace(CharSequence target, CharSequence replacement)                                       replace0方法返回的结果是一个新的字符串。如果字符或字符串 oldChar 没有出现在该对象表达式中的字符串序列中,则将原字符串返回。

例题10.7:

 4.4判断字符串的开始与结尾:startsWith0方法与endsWith0方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都为 boolean 类型。

4.1startsWith()方法:该方法用于判断当前字符串对象的前缀是否为参数指定的字符串。                语法如下:str.startsWith(String prefix)        其中,prefix 是指作为前缀的字符串.

4.2.endsWith()方法:该方法用于判断当前字符串是否为以给定的子字符束。                                  语法如下:str.endsWith(String suffix)        其中,suffix 是指作为后缀的字符串。

例题10.8:

 课堂习题: 

4.5判断字符串是否相等:对字符串对象进行比较不能简单地使用比较运算符“--”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回 false。使用运算符比较两个字符串,代码如下:

因此,要比较两个字符串内容是否相等,应使用 equals0方法和 equalsIgnoreCase0方法。       4.5.1  equals()方法:如果两个字符串具有相同的字符和长度,则使用 equals0方法进行比较时,返回 true。否则,返回false。                                                                                                             语法如下:str.equals(String otherstr)             其中,str、otherstr 是要比较的两个字符串对象.

4.5.2  equalslgnoreCase()方法:使用 equals0方法对字符串进行比较时是区分大小写的,而使用 equalsIgnoreCase0方法是在忽略大小写的情况下比较两个字符串是否相等,返回结果仍为 boolean 类型。语法如下:  str.equalslgnoreCase(String otherstr)                                                   其中,str、otherstr 是要比较的两个字符串对象

 4.6按字典顺序比较两个字符串:compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的 Unicode 值,按字典顺序将 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此 String 对象位于参数字符之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为 0。语法如下:  str.compareTo(String otherstr)

 4.7字母大小写转换:String 类的 toLowerCase()方法可将字符串中的所有大写字母改写为小写字母,而 toUpperCase0方法可将字符串中的所有小写字母改写为大写字母.                                         4.7.1 toLowerCase()方法:  该方法将字符串中的所有大写字母转换为小写。如果字符串中没有应该被转换的字符,则将愿符串返回:否则将返回一个新的字符串,将原字符串中每个大写字母都转换成小写,字符串长度不变.            语法如下:     str.toLowerCase()                               

4.7.2 toUpperCase()方法:该方法将字符串中所有的小写字母转换为写。语法如下: str.toUpperCase()          

                            

 4.8字符串分割:使用split()方法可以使字符串按指定的分割字符或者字符串进行分割.

48.1split(String sign):该方法可根据给定的分割符对字符串进行拆分。语法如下:str.split(String sign)

4.8.2 split(String sign,int limit):该方法可根据给定的分割符对字符串进行拆分,并限定拆分的次数。语法如下:str.split(String sign,int limit)

 5.格式化字符串:String类的静态 format0方法用于创建格式化的字符串。format()方法有两种重载形式.

1 format(String format,Object...args):该方法使用指定的格式字符串和参数返回一个格式化字符串,格式化后的新字符串使用本地翻的语言环境。语法如下:str.format(String format,Object...args)

2.format(Local l,String format,Object...args):该方法使用指定的语言环境、格式字符串和参数返回一个格式化字符串,格式化后的新字符串使用其指定的语言环境。语法如下:str.format(Local l,String format,Object...args)

5.1日期和时间字符串格式化:

1.日期格式化:先来看一个例子。返回一个月中的天数,代码如下:

 2.时间格式化: 使用 format0方法不仅可以完成日期的格式化,也可以实现时间的格式化。时间的格式化转换符要比日期的格式化转换符更多、更精确,它可以将时间格式化为时、分、秒、毫秒等.

3:格式化日期与时间组合的转换符定义了各种日期时间组合的格式,其中最常用的如表10.3 所示

 

5.2常规类型格式化:

 

 课堂习题:

 6.使用正则表达式:正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。例如,“"d”表示数字0~9中的任何一个,“d”就是元字符。

例题17

 10.7字符串生成器:创建成功的字符串对象,其长度是固定的,内容不能被改变和翻译.

例题18 

1.append()方法:该方法用于向字符串生成器中追加内容.语法:append(content)

2.insert(int offset,arg)方法:该方法用于向字符串生成器中的指定位置插入数据内容.

语法:insert(interestingoffsetarg)

3.delete(int start,int end):移除此序列的子字符串的字符.语法:delete(int start,int end)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值