第六章字符串_第1页
第六章字符串_第2页
第六章字符串_第3页
第六章字符串_第4页
第六章字符串_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

2020 4 6 1 第6章字符串 本章导读String类StringBuffer类StringTokenizer类 2020 4 6 2 6 1String类 Java使用java lang包中的String类来创建一个字符串变量 因此字符串变量是类类型变量 是一个对象 它被定义为final型的 不能被子类化 2020 4 6 3 1 创建字符串对象 String类常用的构造方法 1 String 字符串 Strings newString wearestudents 2 String 字符串变量 Stringtom newString s 3 String chara 用一个字符数组a创建一个字符串对象 如chara b o y Strings newString a 4 String chara intstartIndex intcount 提取字符数组a中的一部分字符创建一个字符串对象 参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数 注意 第一个字符的下标为0 chara s t b u s n Strings newString a 2 3 相当于Strings newString bus 2020 4 6 4 2 引用字符串常量对象 字符串常量是对象 因此可以把字符串常量的引用赋值给一个字符串变量 如strings1 s2 s1 Howareyou s2 Howareyou 这样 s1和s2具有相同的引用 因而具有相同的实体 s1和s2的内存示意如图6 1所示 2020 4 6 5 举例说明String类的构造函数的使用 String类构造函数的使用publicclassStringConstructors publicstaticvoidmain Stringargs charcharArray b i r t h d a y Strings newString hello Strings1 newString Strings2 newString s Strings3 newString charArray Strings4 newString charArray 6 3 System out println s s System out println s1 s1 System out println s2 s2 System out println s3 s3 System out println s4 s4 2020 4 6 6 3 String类的常用方法 1 1 publicintlength 获取一个字符串的长度Strings wearestudents tom 我们是学生 intn1 n2 n1 s length n2 tom length 那么 n1的值是15 n2的值是5 字符串常量也可调用length 获得自身长度 如 你的爱好 length 的值是4 2 publicbooleanequals Strings 比较当前字符串对象的实体是否与参数指定的字符串s的实体相同 Stringtom newString wearestudents Stringjerry newString wearestudents tom equals jerry 的值是true tom jerry的值是false 内存示意如图6 2相近的方法 publicbooleanequalsIgnoreCase Strings 3 publicbooleancontains Strings 断当前字符串对象是否含有参数指定的字符串s例6 1说明了方法equals 和contains 的用法 效果如图6 3所示 2020 4 6 7 内存示意如图6 2 2020 4 6 8 3 String类的常用方法 2 4 publicbooleanstartsWith Strings publicbooleanendsWith Strings 判断当前字符串对象的前缀 后缀是否是参数指定的字符串s Stringtom 220302620629021 jerry 21079670924022 tom startsWith 220 的值是truejerry startsWith 220 的值是falsetom endsWith 021 的值是truejerry endsWith 021 的值是false 5 publicintcompareTo Strings 按字典序与参数s指定的字符串比较大小 如Stringstr abcde pareTo boy 小于0 pareTo aba 大于0 pareTo abcde 等于0 相近的方法 publicintcompareToIgnoreCase Strings 该方法忽略大小写 2020 4 6 9 3 String类的常用方法 3 6 publicintindexOf Strings 从当前字符串的头开始检索字符串s 并返回首次出现s的位置 如果没有检索到字符串s 该方法返回的值是 1 indexOf Strings intstartpoint 从当前字符串的startpoint位置处开始检索字符串s 并返回首次出现s的位置 如果没有检索到字符串s 该方法返回的值是 1 lastIndexOf Strings 从当前字符串的头开始检索字符串s 并返回最后出现s的位置 如果没有检索到字符串s 该方法返回的值是 1 如Stringtom Iamagoodcat tom indexOf a 值是2tom indexOf good 2 值是7tom indexOf a 7 值是13tom indexOf w 2 值是 1 2020 4 6 10 7 publicStringsubstring intstartpoint 获得一个当前字符串的子串 该子串是从当前字符串的startpoint处截取到最后所得到的字符串 substring intstart intend 获得一个当前字符串的子串 该子串是从当前字符串的start处截取到end处所得到的字符串 但不包括end处所对应的字符 如Stringtom Ilovetom Strings tom substring 2 5 则s为 lov 8 publicStringtrim 字符串对象s调用该方法得到一个字符串对象 该字符串对象是s去掉前后空格后的字符串 2020 4 6 11 4 字符串与基本数据的相互转化 java lang包中的Integer类调用其类方法 publicstaticintparseInt Strings 将 数字 格式的字符串 如 12387 转化为int型数据 类似地 使用java lang包中的Byte Short Long Float Double类调相应的类方法 publicstaticbyteparseByte Strings publicstaticshortparseShort Strings publicstaticlongparseLong Strings publicstaticdoubleparseDouble Strings publicstaticdoubleparseDouble Strings 可以将 数字 格式的字符串 转化为相应的基本数据类型 2020 4 6 12 有时 我们需要将数字转化为字符串 可以使用String类的下列类方法 publicStringvalueOf byten publicStringvalueOf intn publicStringvalueOf longn publicStringvalueOf floatn publicStringvalueOf doublen 形如123 1232 98的数值转化为字符串 如Stringstr String valueOf 12313 9876 floatx 123 987f Stringtemp String valueOf x 2020 4 6 13 5 对象的字符串表示 所有的类都默认是java lang包中Object类的子类或间接子类 Object类有一个public方法publicStringtoString 一个对象通过调用该方法可以获得该对象的字符串表示 一个类可以通过重写publicStringtoString 方法 以便获得该类对象想要的字符串表示 比如java util包中的Date类就重写了publicStringtoString 使得Date对象调用toString 得到的字符串是由日期信息组成的字符序列 如果一个类没有重写publicStringtoString 方法 那么该类所创建的对象调用toString 方法得到的字符串格式为 类名 对象的引用例6 3中的Student类重写了toString 方法 TV类没有重写toString 方法 2020 4 6 14 6 字符串与字符数组 1 字符串与字符数组类的构造方法String char 和String char intoffset intlength 分别用数组a中的全部字符和部分字符创建字符串对象 String类也提供了将字符串存放到数组中的方法 publicvoidgetChars intstart intend charc intoffset 字符串调用getChars 方法将当前字符串中的一部分字符复制到参数c指定的数组中 将字符串中从位置start到end 1位置上的字符复制的数组c中 并从数组c的offset处开始存放这些字符 String类还提供了一个方法publicchar toCharArray 字符串对象调用该方法可以初始化一个字符数组 该数组的长度与字符串的长度相等 并将字符串对象的全部字符复制到该数组中 例6 4将用户在键盘输入的字符串加密 然后输出密文 见效果图 2020 4 6 15 例子6 4 例子6 5效果图 例子6 4效果图 2020 4 6 16 6 2StringBuffer类 前面我们学习了String字符串对象 String类创建的字符串对象是不可修改的 也就是说 String字符串不能修改 删除或替换字符串中的某个字符 即String对象一旦创建 实体是不可以再发生变化的 如图6 5所示 StringBuffer类 该类能创建可修改的字符串序列 即该类的对象的实体的内存空间可以自动的改变大小 便于存放一个可变的字符串 一个StringBuffer对象调用append 方法可以追加字符串序列 如StringBuffers newStringBuffer Ilovethisgame s append ok 对象s调用append 追加一个字符串序列 如图6 6所示 2020 4 6 17 1 StringBuffer类的构造方法 StringBuffer类有3个构造方法 StringBuffer StringBuffer intsize 和StringBuffer Strings 构造方法StringBuffer 创建一个StringBuffer对象 分配给该对象的实体的初始容量可以容纳16个字符 当该对象的实体存放的字符序列的长度大于16时 实体的容量自动增加 以便存放所增加的字符 StringBuffer对象可以通过方法length 获取实体中存放的实际字符序列的长度 Capacity 方法可以获得SringBuffer对象的容量 构造方法StringBuffer intsize 创建一个StringBuffer对象 可以指定分配给该对象的实体的初始容量为参数size指定的字符个数 当该对象的实体存放的字符序列的长度大于size个字符时 实体的容量自动增加 以便存放所增加的字符 构造方法StringBuffer Strings 创建一个StringBuffer对象 可以指定分配给该对象的实体的初始容量为参数字符串s的长度额外再加16个字符 2020 4 6 18 2 StringBuffer类的常用方法 append 将其他Java类型数据转化为字符串后 再追加到StringBuffer对象中 charcharAt intn 得到参数n指定的置上的单个字符 注 当前对象实体中的字符串序列的第一个位置为0 第二个位置为1 以此类推 voidsetCharAt intn charch 将当前StringBuffer对象实体中的字符串位置n处的字符用参数ch指定的字符替换 StringBufferinsert intindex Stringstr 将一个字符串插入另一个字符串中 并返回当前对象的引用 publicStringBufferreverse 将对象实体中的字符翻转 并返回当前对象的引用 StringBufferdelete intstartIndex intendIndex 从当前StringBuffer对象实体中的字符串中删除一个子字符串 并返回当前对象的引用 这里 startIndex指定了需删除的第一个字符的下标 而endIndex指定了需删除的最后一个字符的下一个字符的下标 StringBufferreplace intstartIndex intendIndex Stringstr 将当前StringBuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换 被替换的子字符串由下标startIndex和endIndex指定 即从startIndex到endIndex 1的字符串被替换 该方法返回当前StringBuffer对象的应用 例6 6 2020 4 6 19 6 3StringTokenizer类 分析一个字符串并将字符串分解成可被独立使用的单

温馨提示

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

评论

0/150

提交评论