第4章 字符串.ppt_第1页
第4章 字符串.ppt_第2页
第4章 字符串.ppt_第3页
第4章 字符串.ppt_第4页
第4章 字符串.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容、第四章字符串,字符串是一个字符序列,它是组织字符的基本数据结构,它对大多数程序来说非常重要,即使在图形程序中,也有必要处理字符串(文件名和其他对象名)。字符串可以包含字母、数字和其他特殊字符,如-、*、/等。在某些语言中(如C语言),字符串是通过字符数组实现的,而在Java中,字符串被视为对象。它提供了一系列字符串操作方法,使得字符串处理更加简单和标准化。java语言中的包java.lang封装了最后两个类String和StringBuffer,其中String对象是一个字符串常量,在建立后不能更改。而StringBuffer对象类似于字符缓冲区,可以在建立后进行修改。这两个类的共同特征

2、是它们不能再被子类化,也就是说,它们不能被其他类继承。4.1 String string类,首先要弄清楚的是字符串常量和字符常量之间的区别。字符常量是用单引号括起来的单个字符,如a、3,052等。字符串常量是用双引号括起来的字符序列,如a、java、n等。在Java中,每个字符串常量对应于字符串类的一个对象,所以字符串常量可以直接调用字符串类中提供的方法,例如:int len=hello . length();字符串的长度为5,即字符串中的字符数。本节主要讨论用于存储字符串常量的字符串类,包括字符串对象的创建、使用和操作。4.1.1创建字符串。字符串类是字符串常量类,在创建字符串对象后不能修改

3、。以前使用的每个字符串常量实际上都是一个字符串对象。例如,字符串“hello”在编译后成为一个字符串对象。因此,可以用字符串常量直接初始化字符串对象。例如:字符串=Java程序;由String类提供的默认构造函数不需要任何参数,它会生成一个空字符串。例如:斯汀=新字符串();/创建空字符串对象通过使用字符串类提供的构造方法,您不仅可以生成空字符串,还可以使用字符数组或字节数组生成字符串对象。创建字符串对象的其他构造方法如表6-1所示。注意:因为互联网上常用的字符都是8位ASCII码,所以Java提供了一种从字节数组初始化字符串的方法,并使用hiByte指定每个字符的高位字节。对于ASCII码,

4、HiByte应为0,对于其他非拉丁字符集,hi byte应为非零。例4.1字符串构造方法的使用。公共类UseConstructors公共静态void main(String args)字符串s1,s2,s3,s4,s5,s6,S7;字节b=(字节)J,(字节)a,(字节)v,(字节)a;Char c=基础、基础、教学、过程;StringBuffer sb=new StringBuffer(你好);s1=新字符串();s2=新字符串(你好);s3=新字符串(sb);s4=新字符串(c);s5=新字符串(c,0,2);s6=新字符串(b,0);s7=新字符串(b,0,1,2);system . o

5、ut . println(S1=S1);system . out . println(S2=S2);system . out . println(S3=S3);system . out . println(S4=S4);system . out . println(S5=S5);system . out . println(S6=S6);system . out . println(S7=S7);4.1.2处理字符串的常用方法。访问字符串类中提供的字符串的方法有很多,大致可以分为比较、前缀和后缀判断、单字符搜索、子串定位、连接和类转换。1字符串的比较(1)布尔等于(对象对象)和布尔等于忽略大小

6、写(字符串):用于比较两个字符串的值是否相等,只是后者忽略了字母的大小写。例如,以下表达式:java.equals(java) /value为真。Java。等于忽略大小写(Java)/值为真。注意:它们不同于运算符“=”实现的比较。运算符“=”比较两个字符串对象是否引用同一个实例对象,而equals()和equalsIgnoreCase()比较两个字符串中的每个对应字符是否相同。,例如:字符串s1=新字符串(Java);字符串s2=新字符串(Java);字符串s3=s1。system . out . println(S1=S2);system . out . println(Java=Java

7、);system . out . println(S1=S3);system . out . println(S1 . equals(S2);(2)int compare to(string an string)和int compare to ignore case(string string)函数用于比较两个字符串的大小写,只是后者忽略了字母的大小写。返回的整数值指示当前字符串和参数字符串之间的大小关系。如果调用字符串大于参数字符串,则返回正整数;否则,返回负整数;相等返回0。比较方法:如果比较的两个字符串有不同的字符,左边第一个不同字符的大小就是两个字符串的大小,这是基于Unicode字符

8、集的。该方法的返回值是:调用字符串中的第一个不同字符-参数字符串中的第一个不同字符。例如,pareTo(即/)的值为8;因为i-a=8,如果两个字符串的每个位置上的字符相同,但长度不同,则该方法的返回值为:调用字符串的长度-参数字符串的长度,例如:pareTo(abc) /值为4-3=1,(3)布尔区域匹配(int t offset,string other,int o offset,Int len)和布尔区域匹配(布尔忽略大小写,Int to offset,string other,int o offset,Int len);函数:用于比较两个字符串中指定区域的子字符串是否相同。其中toff

9、set和ooffset分别表示要比较的子字符串在当前字符串和参数字符串中的起始位置,len表示要比较的字符数(长度),ignoreCase表示比较是否区分大小写。例如,Java。区域匹配(0,Java,0,4)/假Java。区域匹配(true,0,Java,0,4)/true,2确定一个字符串的前缀和后缀,布尔起始和布尔结束用于确定当前字符串的前缀和后缀是否指定。例如,如果居民身份证的最后一个数字表示性别,奇数是男性,偶数是女性, 居民的性别可以通过以下陈述来确定:如果(1)| | 3)| | 5)| | 7)| | 7)其他系统输出打印(此人是女性);3搜索字符串中的单个字符(1)char

10、CharaCter(int index)函数:返回索引处的字符串字符,索引值从0到字符串长度减1。示例:系统。out . println(Java . charat(1);/输出是(2)int indexOf(int ch);函数的作用是:返回一个特定字符在当前字符串中出现的位置。第一种方法从前到后按顺序搜索,第二种方法从索引中的指定位置开始搜索。如果找到,它返回字符第一次出现的位置序号,否则返回-1。示例4.2使用类的索引使用公共静态空主索引(字符串参数)字符串s=Java程序语言;int I=-1;do i=s.indexOf(int)g,I 1);系统.输出.打印(I t);而我!=-1

11、);运行结果:81619-1,4种字符串子字符串定位,1。int indexOf(字符串)和int indexOf(字符串,来自索引的int)int lastindexOff(字符串)和int LastIndex off(字符串,来自索引的int)方法indexOf()的作用是从前面到后面查找指定子字符串在主字符串中出现的位置。lastIndexOf()方法的功能是从后向前查找主字符串中指定子字符串的位置。示例4.3类的last index的使用公共静态void main的last index(字符串参数)字符串s=Java程序语言;int I=s . length();do i=s.last

12、IndexOf(g,I-1);系统.输出.打印(I t);而我!=-1);运行结果:19 16 8-1,2。字符串子串(int begin index)字符串子串(int begin index,int end index)函数:返回子串。前者从主字符串的beginindex索引到字符串的末尾获取一个子字符串;后者从主字符串的开始索引到endindex-1获取一个子字符串,子字符串的长度为=结束索引-开始索引。,示例4.4使用substring方法类使用substring公共静态void main(字符串参数)字符串S1=Java程序语言;int begin index=S1 . index

13、of(p);int end index=S1 . LastIndex of(m);字符串s2=s1.substring(beginindex,end index 1);system . out . println(S2);运行结果:程序,5个字符串的连接,字符串连接;函数:将字符串连接到主字符串的末尾并返回连接的字符串,但是主字符串本身没有改变。例如,字符串s=javaSystem.out.println(s.concat(编程);system . out . println(s);运行结果:java编程java注意:在java中,重载操作符也可以将字符串或字符串与其他类对象连接起来。6字符串

14、类的转换,(1 )(object obj)函数的静态字符串值:将其他类的参数转换为字符串对象并返回。因为对象类是所有类的父类,所以这个方法是重载的,并且参数可以是java中的任何类型。例如:双x=3.1415926字符串s=字符串.值of(x);/将双精度类型转换为字符串类的对象注意:其他类也提供方法值(),用于将字符串转换为相应类的对象。例如:字符串s=3.1415926双d=双。的值;/将String类的对象转换为Double类的对象,双y=d . Double VaLue();/将双精度类的对象转换为双精度类型的数据。这个方法的功能是将其他类的对象转换成字符串对象。例如,字符串=整数(34,16);/将十进制数字34转换成十六进制字符串。/输出是22 (3)到1(2)。此方法的功能是将字符串转换为字符数组。例如,字符串s1=我们喜欢橙色;char S2=S1 . to chararray();系统.输出.打印(字符串.值为(s2,8,6);输出结果:orange,7 String类的其他方法7(1)String中的字符大小写转换可以通过使用String类提供的以下方法来实现。方法将字符串中的所有字符转换为小写,并返回转换后的新字符串。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论