(2.6)--JAVA语言程序设计(第六章 常用类和集合框架.ppt





《(2.6)--JAVA语言程序设计(第六章 常用类和集合框架.ppt》由会员分享,可在线阅读,更多相关《(2.6)--JAVA语言程序设计(第六章 常用类和集合框架.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java语言程序设计第六章常用类和集合框架6-1 常用类java.lang.String类1、字符串对象的创建2、字符串类的常用方法3、字符串常量4、字符串对象与基本数据类型数据转换5、字符串对象与字节数组、字符数组转换6、对象的字符串表达形式7、正则表达式及字符串的替换与分解8、字符串对象的不变性1、字符串对象的创建常量对象:用双引号括起的字符序列常量对象:用双引号括起的字符序列Strings1=abc;常用构造方法常用构造方法:String(Strings);String(chara);String(chara,intstartIndex,intcount).其他方法返回的结果其他方法返回
2、的结果Strings1=abc.toUpperCase();StringtoUpperCase()使用默认语言环境的规则将此String中的所有字符都转换为大写。StringtoLowerCase()使用默认语言环境的规则将此String中的所有字符都转换为小写。Stringconcat(Stringstr)将指定字符串连接到此字符串的结尾。charcharAt(intindex)返回指定索引处的char值。intlength()返回此字符串的长度。booleanequals(Strings)比较当前字符串对象的字符序列是否与参数s指定的字符串的字符序列相同。booleanequalsIgno
3、reCase(Strings)2、字符串类的常用方法booleanstartsWith(Strings)判断当前字符串对象的前缀是否是参数s指定的字符串booleanendsWith(Strings)判断当前字符串对象的后缀是否是参数s指定的字符串booleanregionMatches(intfirstStart,Stringother,intotherStart,intlength)从当前字符串索引firstStart位置开始处,取长度为length的一个子串,并将这个子串和参数other指定的一个子串进行比较。booleanregionMatches(booleanb,intfirstS
4、tart,Stringother,intortherStart,intlength)比较时是否忽略字母大小写intcompareTo(Strings)按字典序与参数s指定的字符串比较大小intcompareToIgnoreCase(Strings)2、字符串类的常用方法booleancontains(Strings)判断当前字符串对象是否含有参数指定的字符串sStringsubstring(intstartpoint)获得当前字符串的子串Stringsubstring(intstart,intend)Stringtrim()得到一个str去掉前后空格后的字符串对象。intindexOf(int
5、ch)返回指定字符在此字符串中第一次出现处的索引intindexOf(intch,intfromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜intlastIndexOf(intch)返回指定字符在此字符串中最后一次出现处的索引。intlastIndexOf(intch,intfromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。2、字符串类的常用方法2、字符串类的常用方法intindexOf(Stringstr)intindexOf(Stringstr,intfromIndex)intlastIndexOf(String
6、str)intlastIndexOf(Stringstr,intfromIndex)友情提示友情提示1.字符串str中字符的索引从0开始,范围为0到str.length()-12.使用indexOf进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回-13.使用substring(beginIndex,endIndex)进行字符串截取时,包括beginIndex位置的字符,不包括endIndex位置的字符字符串常用方法字符串常用方法课堂练习课堂练习1、判断、判断Java源文件名是否正确源文件名是否正确判断规则:合法的文件名应该以判断规则:合法的文件名应该以.java结尾;结尾;
7、2、判断邮箱格式是否正确、判断邮箱格式是否正确判断规则:合法的邮箱名中至少要包含判断规则:合法的邮箱名中至少要包含“”,并要求并要求“”在在“.”之前。之前。3、练习、练习从键盘上输入字符串,去掉前后的空白字符,从索引位置从键盘上输入字符串,去掉前后的空白字符,从索引位置2开始取开始取3个字符,个字符,变成小写字母,判断与变成小写字母,判断与“abc”是否相同。是否相同。3、字符串常量JVM为了提升性能为了提升性能,减少内存开销,避免字符串对象的重复创建,开辟了减少内存开销,避免字符串对象的重复创建,开辟了一块特殊的内存空间一块特殊的内存空间字符串池(字符串池(StringPool),存放字符
8、串对象。),存放字符串对象。程序执行时,对于符合条件的字符串对象,先在程序执行时,对于符合条件的字符串对象,先在Stringpool中查找是否存中查找是否存在?在?若找到就返回,而不创建一个新对象若找到就返回,而不创建一个新对象若找不到,就创建一个新对象,并返回若找不到,就创建一个新对象,并返回字符串池存放如下条件的字符串对象字符串池存放如下条件的字符串对象:字符串常量字符串常量;有限个字符串常量有限个字符串常量进行进行“+”运算运算的结果的结果String的的intern()方法返回的字符串对象方法返回的字符串对象intern()方法intern()方法功能:如果如果StringPool包含
9、内容相同的包含内容相同的String对象,对象,就从池中取出对象的引用返回;否则就从池中取出对象的引用返回;否则String对对象会被加入池中,返回这个新对象的引用。象会被加入池中,返回这个新对象的引用。public static void main(String args)String s1=abcdefg;String s2=hijklmn;String s3=abcdefghijklmn;String s4=abcdefg+hijklmn;System.out.println(s3=s4);System.out.println(加入加入Pool前前:);String s5=null;s5
10、=s1+s2;/引用相加,不是常量相加 System.out.println(s3=s5?+(s3=s5);System.out.println(加入加入Pool后后:);String s6=s5.intern();System.out.println(s3=str6?+(s3=s6);trues3=s5?falses3=s6?trues1StringPool中:中:abcdefghijklmnabcdefghijklmns2s3s4abcdefghijklmns5s64、字符串对象与基本数据类型数据转换字符串字符串基本类型数据:基本类型数据:整数类型转换整数类型转换java.lang.Int
11、eger类的方法:类的方法:staticintparseInt(Strings)staticintparseInt(Strings,intp)其他基本数据类型其他基本数据类型封装类封装类:使用使用Byte、Short、Long、Float、Double、Boolean类调相应的类方法类调相应的类方法parseXxx可以将由字符串转换成对应的基可以将由字符串转换成对应的基本数据类型数值,可能发生异常。本数据类型数值,可能发生异常。字符串字符串基本数据类型基本数据类型intx1=Integer.parseInt(123);/x1=123intx2=Integer.parseInt(“123”,8)
12、;/x2=83intx3=Integer.parseInt(“123”,4);/x3=27例:例:Boolean.parseBoolean(Stringstr)Long.parseLong(Stringstr)4、字符串对象与基本数据类型数据转换将数值将数值字符串:字符串:String类的类方法将数据转化为字符串,如:类的类方法将数据转化为字符串,如:publicstaticStringvalueOf(byten)publicstaticStringvalueOf(shortn)publicstaticStringvalueOf(intn)publicstaticStringvalueOf(l
13、ongn)publicstaticStringvalueOf(floatn)publicstaticStringvalueOf(doublen)Integer、Long类中的类方法将数值转化为某进制的字符串类中的类方法将数值转化为某进制的字符串publicstaticStringtoBinaryString(longi)(二进制)(二进制)publicstaticStringtoOctalString(longi)(八进制)(八进制)publicstaticStringtoHexString(longi)(十六进制)(十六进制)publicstaticStringtoString(longi)
14、(十进制)(十进制)publicstaticStringtoString(longi,intp)(p p进制)进制)字符串字符串基本数据基本数据类型类型字符串对象与字符数组互相转换字符串对象与字符数组互相转换 5、字符串对象与字节数组、字符数组转换字符数字符数组字符串字符串利用利用String类的构造方法的构造方法String(char)/用字符数用字符数组全部字符全部字符String(char,intoffset,intlength)/用字符数用字符数组中的部分字符中的部分字符字符串字符串字符数字符数组利用利用String类的成的成员方法方法voidgetChars(intstart,int
15、end,charc,intoffset)/将字符串部分字符存放到字符数将字符串部分字符存放到字符数组chartoCharArray()/将字符串全部字符存放将字符串全部字符存放到字符数到字符数组字符串对象与字节数组互相转换字符串对象与字节数组互相转换 5、字符串对象与字节数组、字符数组转换字节数组字符串String类的两个构造方法:类的两个构造方法:String(byteb)/用指定的字节数组构造字符串对象。用指定的字节数组构造字符串对象。String(byteb,intoffset,intlength)/用指用指定的字节数组的一部分,即从数组起始位置定的字节数组的一部分,即从数组起始位置of
16、fset开始取开始取length个字节个字节构造一个字符串对象构造一个字符串对象。字符串 字节数组String类的成员方法:类的成员方法:bytegetBytes()/使用平台默认的字符编码,将当前字符串使用平台默认的字符编码,将当前字符串转化为一个字节数组。转化为一个字节数组。bytegetBytes(StringcharsetName)/使用参数指使用参数指定字符编码,将当前字符串转化为一个字节数组。定字符编码,将当前字符串转化为一个字节数组。toString()方法方法ObjectObject类类的的 public String toString()public String toStr
17、ing()方法,方法,得到一个对象的字符串表示。得到一个对象的字符串表示。形式为:形式为:类全名类全名 对象的哈希码对象的哈希码6、对象的字符串表达形式自定义类一般重写父类的自定义类一般重写父类的toString()方法,返回方法,返回所需的字符串信息!所需的字符串信息!字符串的分解字符串的分解publicStringsplit(Stringregex)使用参数指定的使用参数指定的正则表达式正则表达式regex做为分隔标记,分解出其中的单词,做为分隔标记,分解出其中的单词,存放在字符串数组中。存放在字符串数组中。7、正则表达式及字符串的替换与分解是对字符串操作的一种逻辑公式,是对字符串操作的一
18、种逻辑公式,用事先定义好的一些特定字符、用事先定义好的一些特定字符、以及这些特定字符的组合,组成一个以及这些特定字符的组合,组成一个“规则字符串规则字符串”,用来表达对字符串,用来表达对字符串的一种过滤逻辑。的一种过滤逻辑。它是一种文本模式,描述在搜索它是一种文本模式,描述在搜索文本时要匹配的文本时要匹配的1个或多个字符串。个或多个字符串。正则表达式由一些正则表达式由一些普通字符普通字符和一些和一些元字符元字符组成。组成。普通字符包括:普通字符包括:大小写的字母和数字大小写的字母和数字元字符具有特殊的含义,元字符具有特殊的含义,d d 代表代表0 0-9 9中的任何一个数字中的任何一个数字D
19、表示非数字字符表示非数字字符其他写法及含义请查阅相关资料其他写法及含义请查阅相关资料字符串的替换字符串的替换publicStringreplaceFirst(Stringregex,Stringreplacement)publicStringreplaceAll(Stringregex,Stringreplacement)返回当前字符串中,和返回当前字符串中,和 参数参数1 指定的正则表达式匹配的子字符串被指定的正则表达式匹配的子字符串被 参数参数2 指定的字符串替换后的新字符串指定的字符串替换后的新字符串7、正则表达式及字符串的替换与分解publicstaticvoidmain(String
20、args)Stringstr=中华人民共和国于中华人民共和国于1949年年10月月1日成立日成立;Stringdigits=str.split(D+);System.out.println(Arrays.toString(digits);Stringwords=str.split(d+);System.out.println(Arrays.toString(words);Stringstr1=str.replaceFirst(d+,SDUT);System.out.println(str1);Stringstr2=str.replaceAll(d+,SDUT);System.out.print
21、ln(str2);,1949,10,1中华人民共和国于,年,月,日成立中华人民共和国于SDUT年10月1日成立中华人民共和国于SDUT年SDUT月SDUT日成立字符串的匹配字符串的匹配publicbooleanmatches(Stringregex)判断当前字符串对象是否和参数判断当前字符串对象是否和参数regex指定的正则表达式匹配。指定的正则表达式匹配。7、正则表达式及字符串的替换与分解8、字符串对象的不变性String对象创建后则不能被修改,它是不可变的。对象创建后则不能被修改,它是不可变的。修改修改:创建了新的对象,所指向的内存空间不同。:创建了新的对象,所指向的内存空间不同。一个字符
22、串一旦在内存中创建,则这个字符串将不可改变。一个字符串一旦在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,可以使用如果需要一个可以改变的字符串,可以使用StringBuffer或者或者StringBuilder。publicstaticvoidmain(Stringargs)Strings1=SDUT;Strings2=SDUT;Strings3=newString(SDUT);Strings4=newString(SDUT);System.out.println(s1=s2);System.out.println(s1=s3);System.out.println(s3=
23、s4);s1=欢迎来到:欢迎来到:+s1;System.out.println(s1);s1StringPool中中SDUTs2s3SDUTs4SDUT欢迎来到:欢迎来到:SDUT6-3 StringBuffer类1、StringBuffer(StringBuilder)类构造方法2、StringBuffer类常用方法3、与String类对象互相转换4、与StringBuilder类的关系1、StringBuffer类概述与构造方法类概述与构造方法与与String类的比较类的比较String类对象的不变性类对象的不变性StringBuffer类优点:字符序列可变类优点:字符序列可变常用构造方法
24、:常用构造方法:StringBuffer()StringBuffer(intsize)StringBuffer(Strings)abcdabcd123abcd123ABC123 ABC232323 KKKKKKKKabcdStringBuffer类对象的特点类对象的特点StringBufferbuf1=newStringBuffer();System.out.print(容量:容量:+buf1.capacity();/16System.out.println(长度:长度:+buf1.length();/0StringBufferbuf2=newStringBuffer(10);System.o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2.6-JAVA语言程序设计第六章 常用类和集合框架 2.6 JAVA 语言程序设计 第六 常用 集合 框架

限制150内