您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 第6章 字符、字符串、数组
学习导读字符、字符串、数组都是使用Java语言编制程序要经常使用的数据结构,因此,熟练掌握这些数据结构是进一步学习Java程序设计的必要阶段。通过本章的学习,应该能够熟练掌握字符、字符串、数组的各种基本操作。第6章字符、字符串、数组教学重点与难点:字符与字符串的区别字符串常量与String类字符串变量与StringBuffer类数组与数组类Arrays6.1字符字符是指用单引号括起来单个字符,如’a’、’b’、’A’等。这里的字符不是指占1个字节的ASCII字符,而是指占2个字节的Unicode字符。因为Unicode被设计用来处理现在世界上所有书面语言中的字符,所以一个汉字也是被当作一个字符来处理的。对于单个字符,除了有char这个原始类型以外,Java平台中的java.lang包还专门提供了一个Character类来进行储存和操作。6.1.1Character类的构造函数Character类只能用于存储和操作单一的字符数值,Character类的对象包含了单一字符数值。以下是Character类提供的构造函数:publicCharacter(char)参数必须为一个char类型数据,它创建了一个Character对象,该对象包含了由参数提供的数值。一旦Character对象被创建,它包含的数值就不能改变。下面的语句将创建一个Character对象a,该对象包含字符数据’b’:Charactera=newCharacter('b');6.1.2Character类提供的常用方法1.publicintcompareTo(Character)compareTo(Character)是一个实例方法,参数必须为一个Character对象,而不能是char类型数据。该方法比较两个Character对象包含的数值,返回一个整数表明在当前对象中的数值是否大于、等于或者小于参数给定的数值。2.publicbooleanequals(Objectobj)equals()是一个实例方法,用于比较两个对象。用于Character类对象时,该方法比较当前对象容纳的数值和参数对象容纳的数值。在两个对象容纳的数值相等的时候返回true,否则返回false。3.publicStringtoString()所有的类从对象类继承了toString方法。toString是一个实例方法,它将对象转换为字符串。该方法用于Character类对象时,结果的字符串在长度为1,并且它包含了有这个Character对象容纳的数值。4.publiccharcharValue()charValue是一个实例方法,它返回Character对象的字符。5.publicstaticbooleanisUpperCase(char)isUpperCase(char)是一个类方法,该方法用来判断字符参数值是否为大写。当字符参数值是大写时,返回值为true,否则返回false。【例6.1】Character类提供的常用方法6.2字符串字符串指的是字符的序列,有两种类型的字符串:一种是创建以后不需要改变的,称为字符串常量,在Java中,String类用于存储和处理字符串常量;另外一种字符串是创建以后,需要对其进行改变的,称为字符串变量,在Java中,StringBuffer类用于存储和操作字符串变量。6.2.1字符串常量与String类在Java中,没有内置的字符串类型,字符串常量是作为String类的对象存在的。1.创建String类对象String类的对象表示的是字符串常量,一个字符串常量创建以后就不能够被修改了。所以在创建String类对象时,通常需要向构造函数传递参数来指定创建的字符串的内容。以下是常用的String类构造函数:(1)publicString()该构造函数用于创建一个空的字符串常量。(2)publicString(Stringvalue)该构造函数用于根据一个已经存在的字符串常量来创建一个新的字符串常量,该字符串的内容和已经存在的字符串常量一致。(3)publicString(charvalue[])该构造函数用于根据一个已经存在的字符数组来创建一个新的字符串常量。数组将在本章后面的内容中介绍。(4)publicString(StringBufferbuffer)该构造函数用于根据一个已经存在的StringBuffer对象来创建一个新的字符串常量。2.String类对象的常用操作及方法在Java中,String类包含有50多个方法来实现字符串的各种操作,以下介绍一些我们需要经常使用的方法。(1)字符串的连接publicStringconcat(Stringstr)该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面。(2)求字符串的长度publicintlength()返回字串的长度,这里的长度指的是字符串中Unicode字符的数目。(3)求字符串中某一位置的字符publiccharcharAt(intindex)该方法在一个特定的位置索引一个字符串,以得到字符串中指定位置的字符。值得注意的是,在字符串中第一个字符的索引是0,第二个字符的索引是1,依次类推,最后一个字符的索引是length()-1。【例6.2】求字符串的长度及每一个位置上的字符(4)字符串的比较比较字符串可以利用String类提供的下列方法:1)publicintcompareTo(StringanotherString)该方法比较两个字符串,和Character类提供的compareTo方法相似,Character类提供的compareTo方法比较的是两个字符类数据,而这里比较的是字符串数据。其比较过程实际上是两个字符串中相同位置上的字符按Unicode中排列顺序逐个比较的结果。如果在整个比较过程中,没有发现任何不同的地方,则表明两个字符串是完全相等的,compareTo方法返回0;如果在比较过程中,发现了不同的地方,则比较过程会停下来,这时一定是两个字符串在某个位置上不相同,如果当前字符串在这个位置上的字符大于参数中的这个位置上的字符,compareTo方法返回一个大于0的整数,否则返回一个小于0的整数。2)publicbooleanequals(ObjectanObject)该方法比较两个字符串,和Character类提供的equals方法相似,因为它们都是重载Object类的方法。该方法比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。3)publicbooleanequalsIgnoreCase(StringanotherString)该方法和equals方法相似,不同的地方在于,equalsIgnoreCase方法将忽略字母大小写的区别。(5)从字符串中提取子串利用String类提供的substring方法可以从一个大的字符串中提取一个子串,该方法有两种常用的形式:1)publicStringsubstring(intbeginIndex)该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回。2)publicStringsubstring(intbeginIndex,intendIndex)该方法从当前字符串中取出一个子串,该子串从beginIndex位置起至endIndex-1为结束。子串返的长度为endIndex-beginIndex。(6)判断字符串的前缀和后缀判断字符串的前缀是否为指定的字符串利用String类提供的下列方法:1)publicbooleanstartsWith(Stringprefix)该方法用于判断当前字符串的前缀是否和参数中指定的字符串prefix一致,如果是,返回true,否则返回false。2)publicbooleanstartsWith(Stringprefix,inttoffset)该方法用于判断当前字符串从toffset位置开始的子串的前缀是否和参数中指定的字符串prefix一致,如果是,返回true,否则返回false。判断字符串的后缀是否为指定的字符串利用String类提供的方法:publicbooleanendsWith(Stringsuffix)该方法用于判断当前字符串的后缀是否和参数中指定的字符串suffix一致,如果是,返回true,否则返回false。(7)字符串中单个字符的查找字符串中单个字符的查找可以利用String类提供的下列方法:1)publicintindexOf(intch)该方法用于查找当前字符串中某一个特定字符ch出现的位置。该方法从头向后查找,如果在字符串中找到字符ch,则返回字符ch在字符串中第一次出现的位置;如果在整个字符串中没有找到字符ch,则返回-1。2)publicintindexOf(intch,intfromIndex)该方法和第一种方法类似,不同的地方在于,该方法从fromIndex位置向后查找,返回的仍然是字符ch在字符串第一次出现的位置。3)publicintlastIndexOf(intch)该方法和第一种方法类似,不同的地方在于,该方法从字符串的末尾位置向前查找,返回的仍然是字符ch在字符串第一次出现的位置。4)publicintlastIndexOf(intch,intfromIndex)该方法和第二种方法类似,不同的地方在于,该方法从fromIndex位置向前查找,返回的仍然是字符ch在字符串第一次出现的位置。(8)字符串中子串的查找字符串中子串的查找与字符串中单个字符的查找十分相似,可以利用String类提供的下列方法:1)publicintindexOf(Stringstr)2)publicintindexOf(Stringstr,intfromIndex)3)publicintlastIndexOf(Stringstr)4)publicintlastIndexOf(Stringstr,intfromIndex)(9)字符串中字符大小写的转换字符串中字符大小写的转换,可以利用String类提供的下列方法:1)publicStringtoLowerCase()该方法将字符串中所有字符转换成小写,并返回转换后的新串。2)publicStringtoUpperCase()该方法将字符串中所有字符转换成大写,并返回转换后的新串。(10)字符串中多余空格的去除publicStringtrim()该方法只是去掉开头和结尾的空格,并返回得到的新字符串。值得注意的是,在原来字符串中间的空格并不去掉。(11)字符串中字符的替换1)publicStringreplace(charoldChar,charnewChar)该方法用字符newChar替换当前字符串中所有的字符oldChar,并返回一个新的字符串。2)publicStringreplaceFirst(Stringregex,Stringreplacement)该方法用字符串replacement的内容替换当前字符串中遇到的第一个和字符串regex相一致的子串,并将产生的新字符串返回。3)publicStringreplaceAll(Stringregex,Stringreplacement)该方法用字符串replacement的内容替换当前字符串中遇到的所有和字符串regex相一致的子串,并将产生的新字符串返回。【例6.3】String类字符串的常用操作6.2.2字符串变量与StringBuffer类1.创建StringBuffer类对象StringBuffer类对象表示的是字符串变量,每一个StringBuffer类对象都是可以扩充和修改的字符串变量。以下是常用的StringBuffer类构造函数:(1)publicStringBuffer()(2)publicStringBuffer(intlength)(3)publicStringBuffer(Stringstr)2.StringBuffer类对象的常用方法(1)
本文标题:第6章 字符、字符串、数组
链接地址:https://www.777doc.com/doc-3375366 .html