09、字符与字符串.ppt
《09、字符与字符串.ppt》由会员分享,可在线阅读,更多相关《09、字符与字符串.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中关村国际软件人才教育联盟中关村国际软件人才教育联盟第九讲 String和StringBuffer中关村国际软件人才教育联盟目标目标 掌握字符与字符串的区别掌握字符与字符串的区别 掌握掌握String类类的使用的使用 掌握掌握StringBuffer类类的使用的使用2 2中关村国际软件人才教育联盟字符(字符(charchar)n n 字符是指字符是指字符是指字符是指用单引号括起来的单个字符用单引号括起来的单个字符用单引号括起来的单个字符用单引号括起来的单个字符,如,如,如,如 a a a a、b b b b、A A A A 等。这里的字符不是指等。这里的字符不是指等。这里的字符不是指等。这里的
2、字符不是指占占占占1 1 1 1个字节的个字节的个字节的个字节的ASCIIASCIIASCIIASCII字符,而是指占字符,而是指占字符,而是指占字符,而是指占2 2 2 2个字节的个字节的个字节的个字节的UnicodeUnicodeUnicodeUnicode字符。因为字符。因为字符。因为字符。因为UnicodeUnicodeUnicodeUnicode被设计用来处理被设计用来处理被设计用来处理被设计用来处理现在世界上所有书面语言中的字符,所以一现在世界上所有书面语言中的字符,所以一现在世界上所有书面语言中的字符,所以一现在世界上所有书面语言中的字符,所以一个汉字也是被当作一个字符来处理的。
3、对于个汉字也是被当作一个字符来处理的。对于个汉字也是被当作一个字符来处理的。对于个汉字也是被当作一个字符来处理的。对于单个字符,除了有单个字符,除了有单个字符,除了有单个字符,除了有charcharcharchar这个原始类型以外,这个原始类型以外,这个原始类型以外,这个原始类型以外,JavaJavaJavaJava平台中的平台中的平台中的平台中的java.langjava.langjava.langjava.lang包还专门提供了一个包还专门提供了一个包还专门提供了一个包还专门提供了一个CharacterCharacterCharacterCharacter类来进行储存和操作。类来进行储存和
4、操作。类来进行储存和操作。类来进行储存和操作。3 3中关村国际软件人才教育联盟Character类的构造函数类的构造函数n nCharacterCharacter类只能用于存储和操作单一的字符数类只能用于存储和操作单一的字符数类只能用于存储和操作单一的字符数类只能用于存储和操作单一的字符数值,值,值,值,CharacterCharacter类的对象包含了单一字符数值。类的对象包含了单一字符数值。类的对象包含了单一字符数值。类的对象包含了单一字符数值。n nCharacterCharacter类的构造函数:类的构造函数:类的构造函数:类的构造函数:public Characterpublic C
5、haracter(charchar)参参参参数数数数必必必必须须须须为为为为一一一一个个个个charchar类类类类型型型型数数数数据据据据,它它它它创创创创建建建建了了了了一一一一个个个个CharacterCharacter对对对对象象象象,该该该该对对对对象象象象包包包包含含含含了了了了由由由由参参参参数数数数提提提提供供供供的的的的数数数数值值值值。一一一一旦旦旦旦CharacterCharacter对对对对象象象象被被被被创创创创建建建建,它它它它包包包包含含含含的的的的数数数数值就不能改变。值就不能改变。值就不能改变。值就不能改变。下下下下面面面面的的的的语语语语句句句句将将将将创创
6、创创建建建建一一一一个个个个CharacterCharacter对对对对象象象象a a,该该该该对象包含字符数据对象包含字符数据对象包含字符数据对象包含字符数据 bb:Character a=new Character a=new Character(bCharacter(b););4 4中关村国际软件人才教育联盟Character类的常用方法(类的常用方法(1)1 1public public intint compareTocompareTo(CharacterCharacter)compareTocompareTo(CharacterCharacter)是一个实例方法,参数必须)是一个实
7、例方法,参数必须)是一个实例方法,参数必须)是一个实例方法,参数必须为一个为一个为一个为一个CharacterCharacter对象,而不能是对象,而不能是对象,而不能是对象,而不能是charchar类型数据。该方类型数据。该方类型数据。该方类型数据。该方法比较两个法比较两个法比较两个法比较两个CharacterCharacter对象包含的数值,返回一个整数对象包含的数值,返回一个整数对象包含的数值,返回一个整数对象包含的数值,返回一个整数表明在当前对象中的数值是否大于、等于或者小于参表明在当前对象中的数值是否大于、等于或者小于参表明在当前对象中的数值是否大于、等于或者小于参表明在当前对象中的
8、数值是否大于、等于或者小于参数给定的数值。数给定的数值。数给定的数值。数给定的数值。2 2public public booleanboolean equals equals(Object Object objobj)equalsequals()是一个实例方法,用于比较两个对象。用()是一个实例方法,用于比较两个对象。用()是一个实例方法,用于比较两个对象。用()是一个实例方法,用于比较两个对象。用于于于于CharacterCharacter类对象时,该方法比较当前对象容纳的数类对象时,该方法比较当前对象容纳的数类对象时,该方法比较当前对象容纳的数类对象时,该方法比较当前对象容纳的数值和参数对
9、象容纳的数值。在两个对象容纳的数值相值和参数对象容纳的数值。在两个对象容纳的数值相值和参数对象容纳的数值。在两个对象容纳的数值相值和参数对象容纳的数值。在两个对象容纳的数值相等的时候返回等的时候返回等的时候返回等的时候返回truetrue,否则返回,否则返回,否则返回,否则返回falsefalse。5 5中关村国际软件人才教育联盟Character类的常用方法(类的常用方法(2)3 3public String public String toStringtoString()()()()所有的类从所有的类从所有的类从所有的类从ObjectObject类继承了类继承了类继承了类继承了toStri
10、ngtoString方法。方法。方法。方法。toStringtoString是是是是一个实例方法,它将对象转换为字符串。该方法用于一个实例方法,它将对象转换为字符串。该方法用于一个实例方法,它将对象转换为字符串。该方法用于一个实例方法,它将对象转换为字符串。该方法用于CharacterCharacter类对象时,结果字符串的长度为类对象时,结果字符串的长度为类对象时,结果字符串的长度为类对象时,结果字符串的长度为1 1,并且它包,并且它包,并且它包,并且它包含了这个含了这个含了这个含了这个CharacterCharacter对象容纳的数值。对象容纳的数值。对象容纳的数值。对象容纳的数值。4 4
11、public char public char charValuecharValue()()()()charValuecharValue是是是是一一一一个个个个实实实实例例例例方方方方法法法法,它它它它返返返返回回回回CharacterCharacter对对对对象象象象的的的的名名名名字。字。字。字。5 5public static public static booleanboolean isUpperCaseisUpperCase(charchar)isUpperCaseisUpperCase(charchar)是一个类方法,该方法用来判断)是一个类方法,该方法用来判断)是一个类方法,该方
12、法用来判断)是一个类方法,该方法用来判断字符参数值是否为大写。当字符参数值是大写时,返字符参数值是否为大写。当字符参数值是大写时,返字符参数值是否为大写。当字符参数值是大写时,返字符参数值是否为大写。当字符参数值是大写时,返回值为回值为回值为回值为truetrue,否则返回,否则返回,否则返回,否则返回falsefalse。6 6中关村国际软件人才教育联盟Character类方法使用示例类方法使用示例n npublic class public class CharacterOpCharacterOp n n n n public static void public static void
13、main(Stringmain(String argsargs)n nCharacter c1=new Character c1=new Character(aCharacter(a););n nCharacter c2=new Character c2=new Character(aCharacter(a););n nCharacter c3=new Character c3=new Character(bCharacter(b););n nintint d=d=pareTo(c3)pareTo(c3);n nif(d=0)if(d=0)n nSystem.out.println(c1Sys
14、tem.out.println(c1等于等于等于等于c3);c3);n nelse if(d 0)else if(d 0)else if(d 0)n nSystem.out.println(c1System.out.println(c1大于大于大于大于c3);c3);n nSystem.out.println(c1+(System.out.println(c1+(c1.equals(c2)c1.equals(c2)?)?等于等于等于等于:n n 不等于不等于不等于不等于)+c2);)+c2);n nSystem.out.println(System.out.println(c1.toStrin
15、g()c1.toString()+是是是是+n n (Character.isUpperCaseCharacter.isUpperCase(c1.charValue()c1.charValue()?)?大写大写大写大写:小写小写小写小写););n n n n 7 7中关村国际软件人才教育联盟字符串字符串n n字字字字符符符符串串串串指指指指的的的的是是是是字字字字符符符符的的的的序序序序列列列列,有有有有两两两两种种种种类类类类型型型型的的的的字字字字符符符符串串串串:一一一一种种种种是是是是创创创创建建建建以以以以后后后后不不不不需需需需要要要要改改改改变变变变的的的的,称称称称为为为为字字
16、字字符符符符串串串串常常常常量量量量,在在在在JavaJava中中中中,StringString类类类类用用用用于于于于存存存存储储储储和和和和处处处处理理理理字字字字符符符符串串串串常常常常量量量量;另另另另外外外外一一一一种种种种字字字字符符符符串串串串是是是是创创创创建建建建以以以以后后后后,需需需需要要要要对对对对其其其其进进进进行行行行改改改改变变变变的的的的,称称称称为为为为字字字字符符符符串串串串变变变变量量量量,在在在在JavaJava中中中中,StringBufferStringBuffer类类类类用用用用于于于于存存存存储储储储和和和和操操操操作作作作字字字字符串变量。符串
17、变量。符串变量。符串变量。n n注意:字符串不是注意:字符串不是注意:字符串不是注意:字符串不是charchar数组数组数组数组8 8中关村国际软件人才教育联盟字符串的内部排列字符串的内部排列n n字符字符串內部串內部各个字符各个字符的排列位置的排列位置是连续是连续的的,位置,位置编号编号由由开始开始到到结束结束是是从从0 到到 n。Hello012349 9中关村国际软件人才教育联盟字符串常量与字符串常量与String类(类(1)n n在在在在JavaJava中中中中,没没没没有有有有内内内内置置置置的的的的字字字字符符符符串串串串类类类类型型型型,字字字字符符符符串串串串常常常常量量量量是
18、是是是作作作作为为为为StringString类的对象存在的。类的对象存在的。类的对象存在的。类的对象存在的。1 1创建创建创建创建StringString类对象类对象类对象类对象 StringString类类类类的的的的对对对对象象象象表表表表示示示示的的的的是是是是字字字字符符符符串串串串常常常常量量量量,一一一一个个个个字字字字符符符符串串串串常常常常量量量量创创创创建建建建以以以以后后后后就就就就不不不不能能能能够够够够被被被被修修修修改改改改了了了了。所所所所以以以以在在在在创创创创建建建建StringString类类类类对对对对象象象象时时时时,通通通通常常常常需需需需要要要要向向
19、向向构构构构造造造造函函函函数数数数传传传传递递递递参参参参数数数数来来来来指指指指定定定定创创创创建建建建的的的的字字字字符串的内容。以下是常用的符串的内容。以下是常用的符串的内容。以下是常用的符串的内容。以下是常用的StringString类构造函数:类构造函数:类构造函数:类构造函数:(1 1)public Stringpublic String()()()()该构造函数用于创建一个空的字符串常量。该构造函数用于创建一个空的字符串常量。该构造函数用于创建一个空的字符串常量。该构造函数用于创建一个空的字符串常量。(2 2)public Stringpublic String(String
20、valueString value)该该该该构构构构造造造造函函函函数数数数用用用用于于于于根根根根据据据据一一一一个个个个已已已已经经经经存存存存在在在在的的的的字字字字符符符符串串串串常常常常量量量量来来来来创创创创建建建建一一一一个个个个新新新新的的的的字字字字符符符符串串串串常常常常量量量量,该该该该字字字字符符符符串串串串的的的的内内内内容容容容和和和和已已已已经经经经存存存存在在在在的的的的字字字字符串常量一致。符串常量一致。符串常量一致。符串常量一致。1010中关村国际软件人才教育联盟字符串常量与字符串常量与String类(类(2)(3 3)public Stringpublic
21、 String(char valuechar value)该该该该构构构构造造造造函函函函数数数数用用用用于于于于根根根根据据据据一一一一个个个个已已已已经经经经存存存存在在在在的的的的字字字字符符符符数数数数组组组组来来来来创创创创建建建建一一一一个个个个新新新新的的的的字字字字符串常量。符串常量。符串常量。符串常量。(4 4)public Stringpublic String(StringBufferStringBuffer buffer buffer)该构造函数用于根据一个已经存在的该构造函数用于根据一个已经存在的该构造函数用于根据一个已经存在的该构造函数用于根据一个已经存在的Stri
22、ngBufferStringBuffer对象来创建一对象来创建一对象来创建一对象来创建一个新的字符串常量。个新的字符串常量。个新的字符串常量。个新的字符串常量。创建创建创建创建StringString对象示例:对象示例:对象示例:对象示例:String s1=String s1=“EggEgg”;/;/建议使用该方式建议使用该方式或者或者或者或者 String s2=new String s2=new String(EggString(Egg););区别:编译器遇到像区别:编译器遇到像“EggEgg”这样的这样的“字符串常量字符串常量”时,它会自动创建一个时,它会自动创建一个含有含有“EggE
23、gg”字符串的对象,然后把该对象的引用传给字符串的对象,然后把该对象的引用传给s1.s1.而处理而处理s2s2时,编译器一遇到构造函数的参数时,编译器一遇到构造函数的参数“EggEgg”时,会首先创建一时,会首先创建一个含有个含有“EggEgg”字符串的对象(匿名的)。然后,根据构造函数字符串的对象(匿名的)。然后,根据构造函数“new new String(String(”EggEgg“)”的要求,再创建出另一个含有的要求,再创建出另一个含有“EggEgg”字符串的对象字符串的对象(也是匿名的),然后把该对象的引用传给(也是匿名的),然后把该对象的引用传给s2s2。这样一来,就多创建了一。这
24、样一来,就多创建了一个匿名的个匿名的StringString对象。对象。1111中关村国际软件人才教育联盟字符串池字符串池n n“字符串池字符串池字符串池字符串池”存放在程序中创建的所有字符串常量存放在程序中创建的所有字符串常量存放在程序中创建的所有字符串常量存放在程序中创建的所有字符串常量n n任何时候创建字符串常量,任何时候创建字符串常量,任何时候创建字符串常量,任何时候创建字符串常量,JVMJVM都会搜索字符串池,查看是否存在该字符都会搜索字符串池,查看是否存在该字符都会搜索字符串池,查看是否存在该字符都会搜索字符串池,查看是否存在该字符串常量。串常量。串常量。串常量。n n注意:注意:
25、注意:注意:若用若用若用若用newnew产生对象产生对象产生对象产生对象,則每次,則每次,則每次,則每次newnew都都都都会产生一个新对象会产生一个新对象会产生一个新对象会产生一个新对象。String str1=“hello”;String str1=“hello”;String str2=“hello”;String str2=“hello”;则则则则 (str1=(str1=str2)str2)为为为为truetrue String str3=new String str3=new String(“helloString(“hello”);”);String str4=new Strin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 字符 字符串
限制150内