10.1String类
单个字符可以使用char类型保存,多个字符组成的文本就需要保存在string对象中,string通常被称为字符串,一个string对象最多可以保存 (-1)个字节(占用4gb空间大小)的文本内容。
本节讲解string类的使用方法。
10.1.1声明字符串
在java语言中,字符串必须包含在一对双引号(" ")之内。例如:
以上这些都是字符串常量,字符串常量可以是系统能够显示的任何文字信息,甚至可以是单个字符。
可以通过以下语法格式来声明字符串变量:
String:指定该变量为字符串类型
str:任意有效的标识符,表示字符串变量的名称。
声明字符串变量s,代码如下
注意
声明的字符串变量必须经过初始化才能使用,否则编译器会报出“变量未初始化错误”
10.1.2创建字符串
在java语言中,将该字符串作为对象来处理,
1.String(char a[])
该方法用一个字符数组ch创建string对象,代码如下:
//字符串变量的初始化,传入字符类型的数组
2.String(char c[],int offset,int length)
该方法提取字符数组c中一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,
length表示截取字符串的长度。代码如下:
10.2连接字符串
10.2.1连接多个字符串
使用“+”运算符可实现连接多个字符串的功能。“+”运算符可以连接多个String对象产生一个新的Sting对象。
例题10.1
例题10.2
10.3获取字符串信息
10.3.1获取字符串长度
字符串作为对象,可通过相应方法获取字符串的有效
信息,如获取某字符串的擦汗高难度、某个索引位置的字符等。
使用String类的length()方法可获取声明的字符串对象的长度。语法如下:
其中,str为字符串对象。
获取字符串长度,代码如下:
上段代码是将字符串str的长度赋值给int型变量size,此时变量size的值为4,者表示length()
方法返回的字符串的长度(包括字符串中的空格)
10.3.2字符串查找
1.indexof(String s)
indexof()方法返回的是搜索的字符或者字符串首次出现的位置
2.lastIndexOf(String str)
该方法用于返回指定字符串最后异常出现的索引位置。当调用String类的lastIndexOf()方法时,会从当前字符串的开始位置检索字符串str,如果没有检索到字符串str,该方法返回-1.语法如下:
str:任意字符串对象
substr:要索引的字符串
例题10.3
10.3.3获取指定索引位置的字符
使用charAt()方法可将指定索引处的字符返回。语法如下:
str:任意字符串
index:整型值,用于指定要返回字符的下标。
例题10.4
10.4字符串操作
10.4.1获取子字符串
1.substring(int beginindex)
该方法返回的是从只当的索引位置开始截取直到该字符串结尾的子窜。语法如下:
截取字符串,代码如下:
在字符串中,空格占用一个索引位置。
2.substring(int beginIndex,int endIndex)
该方法返回的是从字符串某一索引位置开始截取至某一索引位置结束的子串。
beginIndex:开始截取子字符串的索引位置
endIndex:子字符串在整个字符串中的结束位置
习题10.5
10.4.2去除空格
trim()方法返回字符串的副本,忽略前导空格和尾部空格。语法如下:
习题10.6
10.4.3字符串替换
replace()方法可实现将指定的字符或字符串替换成新的字符或字符串。语法如下:
target:要替换的字符或字符串
replacement:用于替换原来字符串的内容。
replace()方法返回的结果是一个新的字符串。如果字符或字符串oldChar没有出现在该对象表达式中的字符串序列中,则将原字符串返回。
习题10.7
10.4.4判断字符串的开始与结尾
startsWith()方法与endsWith()方法分别用于判断字符串是否以只当的内容开始或结束。这两个方法的返回值都为boolean类型。
1.startsWith()方法
判断前缀
2.endsWith()方法
判断后缀
10.4.5判断字符串是否相等
对字符串对象进行比较不能简单地使用比较符“==”因为比较运算符比较得是两个字符串得地址是否相同。即使两个字符串得内容相同,两个对象得内存地址也是不同得,使用比较晕眩符仍然会返回false。
使用比较运算符比较两个字符串,代码如下;
1.equals()方法
如果两个字符串具有相同得字符和长度,则使用equlas()方法进行比较时,返回true。否则返回false。语法如下:
2.equalslgnoreCase()方法
使用equals()方法对字符串进行比较时是区分大小写得,使用此方法是忽略大小写得情况下比较两个字符串是否相等,返回结果仍未Boolean类型。语法如下
例题10.9
10.4.6按字典顺序比较两个字符串
语法
str.compareTo(String otherstr)
其中,str、otherstr是要比较得两个字符串对象。
说明compare To()方法只有在equals(Object)方法返回true时才返回0.
例题10
10.4.7字母大小写转换
tolowercase是将所有大写字母转化为小写字母
touppercase是将所有小写字母转换为大写字母
例题11
说明,使用此方法时,数字或其他非英文字母类转换字符不受影响
10.4.8字符串分割
10.5格式化字符串
10.5.1日期和时间字符串格式化
10.5.2常规类型格式化
10.6使用正则表达式
例题17
10.7字符串生成器