第六章字符串处理
湛江师范基础教育杨丽丽
回顾
??????面向对象的基本概念。面向对象的基本概念。类的声明以及成员变量、方法的声明和访问权限。类的声明以及成员变量、方法的声明和访问权限。对象的生成和使用。对象的生成和使用。继承和多态的概念及其实现。继承和多态的概念及其实现。this和super的使用的使用。this和super的使用。包和接口的使用。包和接口的使用。
2
目标
?String类字符串的定义及其基本操作String类字符串的定义及其基本操作?StringBuffer类字符串的定义及其基本操作StringBuffer类字符串的定义及其基本操作
3
6.1字符串
字符串是字符的序列,字符串是字符的序列,它是组织字符的基本数据结构,从某种程度上来说有些类似于字符的数组。从某种程度上来说有些类似于字符的数组。在
Java中,字符串被当作对象来处理。中字符串被当作对象来处理。
程序中需要用到的字符串可以分为两大类,程序中需要用到的字符串可以分为两大类,一类是创建之后不会再做修改和变动的字符串常量字符串常量String是创建之后不会再做修改和变动的字符串常量另一类是创建之后允许再做更改和变化的字符串类;另一类是创建之后允许再做更改和变化的字符串变量StringBuffer类。变量类String和StringBuffer类经过了精心地
设计,所类经过了精心地设计,和类经过了精心地设计以都被说明成最终类,不能派生子类,以都被说明成最终类,不能派生子类,以防用户修改其功能。其功能。
4
6.1.1字符串常量
?使用“”定义字符串,使用‘’定义字符。使用“”定义字符串,使用‘’定义字符。“”定义字符串‘’定义字符?“abc”,”欢迎使用欢迎使用Java”都是字符串。都是字符串。欢迎使用都是字符串?‘a’,’b’,’c’都是字符。,,都是字符。都是字符?Java会自动为字符串常量生成一个会自动为字符串常量生成一个String类的对象,所以可类的对象,会自动为字符串常量生成一个类的对象以直接初始化String对象,如:Strings=“Helloworld!”对象,以直接初始化对象!?等价于:Strings=newString(“Helloworld!”)等价于:“!
5
6.2.1String类字符串String类字符串
创建String的一个对象并进行初始化,需要调用类String的构造方法,主要有以下创造方法:String():():创建一个空串①String():value)②String(Stringvalue):用已知串value创建一个字符String(串对象String(value[])③String(charvalue[]):用字符数组valuevalue[]创建一个字符串对象String(char[],startIndex,numChars)④String(char[],intstartIndex,intnumChars):从字符数组的startIndex位起,numChars个字符组成的字符串数组
String(byte[],hibyte)⑤String(byte[],bytehibyte)hibyte,startIdnex,numChars)⑥String(byte[],bytehibyte,intstartIdnex,intnumChars)String(byte[],6
6.2.2String类的基本操作4-1String类的基本操作类的基本操作4
(1)publicintlength():返回字符串长度(注意汉字)(2)字符串比较:publicintcompareTo(StringanotherString):比较大小publicbooleanequals(ObjectanObject):判断是否相等publicbooleanequalsIgnore(StringanotherString)publicbooleanstartsWith(Strin
gprefix):判断是否以某字符串为前缀publicbooleanendsWith(Stringsuffix):判断是否以某字符串为后缀booleanregionMatches(inttoffset,Stringother,intooffset,intlen):比较
两个字符串中指定区域的子串是否相等
booleanregionMatches(booleanignoreCase,inttoffset,Stringother,intooffset,intlen)
7
6.2.2String类的基本操作4-2String类的基本操作类的基本操作4
(3)字符串的检索和子串publiccharcharAt(intindex):返回给定位置的字符publicvoidgetChars(intsrcBegin,intsrcEnd,char[]dst,intdstBegin)publicintindexOf(intch)和publicintlastIndexOf(intch)publicintindexOf(intch,intfromIndex)publicintlastIndexOf(intch,intfromIndex)publicintindexOf(Stringstr)和publicintlastIndexOf(Stringstr)publicintindexOf(Stringstr,intfromIndex)publicintlastIndexOf(Stringstr,intfromIndex)publicStringsubstring(intbeginIndex)publicStringsubstring(intbeginIndex,intendIndex)