Java2实用教程5字符串_第1页
Java2实用教程5字符串_第2页
Java2实用教程5字符串_第3页
Java2实用教程5字符串_第4页
Java2实用教程5字符串_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、第章字符串5.1 字符串 character strings5.2 字符串的常用方法 common methods 5.3 字符串与基本数据的相互转化5.4 对象的字符串表示5.5 StringTokenizer类5.6字符串与字符、字节数组5.7 StringBuffer类5.8 正则表达式 Regular Expressions15.1 字符串java.lang.String类,字符串变量是对象。1.字符串常量 “你好”,“1234.987”,“weqweo”。2.创建字符串 使用String类的构造方法,例如: String s=new String(we are students);2

2、5.2 字符串的常用方法(1)public int length()length()方法可以获取一个字符串的长度 ,如:String tom= 我们是学生;tom.length()的值5。3public boolean equals(String s) 比较当前字符串对象的实体是否与参数指定的字符串s的实体相同.String tom=new String( we are students);String boy=new String( We are students);String jerry= new String(we are students);tom.equals(boy)的值是fal

3、se,tom.equals(jerry)的值是 true。 4public boolean startsWith(String s)public boolean endsWith(String s) 字符串对象调用startsWith(String s)方法,判断当前字符串对象的前缀是否是参数指定的字符串s .字符串对象调用endsWith(String s) 方法,判断当前字符串的后缀是否是字符串s .5public boolean regionMatches(int firstStart, String other, int ortherStart,int length) 从当前字符串参数

4、firstStart指定的位置处开始,取长度为length的一个子串,将这个子串和参数other指定的一个子串进行比较。其中,other指定的子串是从参数othertStart指定的位置开始,长度为length的一个子串。6public int compareTo(String s) 字符串对象按字典序与参数s指定的字符串比较大小。如果当前字符串与s相同,该方法返回值0;如果当前字符串大于s,该方法返回正值;如果小于s,该方法返回负值。 7public int indexOf (String s) indexOf (String s)从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如

5、果没有检索到字符串s,该方法返回的值是-1。indexOf(String s ,int startpoint)方法从当前字符串的startpoint位置处开始检索字符串s,并返回首次出现s的位置。lastIndexOf (String s)方法从当前字符串的头开始检索字符串s,并返回最后出现s的位置。8public String substring(int startpoint) 字符串对象调用该方法获得一个当前字符串的子串该子串是从当前字符串的startpoint处截取到字符串的末尾所得到的字符串。字符串对象调用substring(int start ,int end)方法获得一个当前字符串

6、的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。 9public String replaceAll(String oldString ,String newString) 字符串对象s调用该方法可以获得一个串对象,这个串对象是通过用参数newString指定的字符串替换s中由oldString指定的所有字符串而得到的字符串。10public String trim() 一个字符串s通过调用方法trim()得到一个字符串对象,该字符串对象是s去掉前后空格后的字符串。 115.3 字符串与基本数据的相互转化 使用java.lang包中的Byt

7、e、Short、Integer 、 Long、Float、Double类调相应的类方法:public static byte parseByte(String s) throws NumberFormatExceptionpublic static short parseShort(String s) throws NumberFormatExceptionpublic static short parseInt(String s) throws NumberFormatExceptionpublic static long parseLong(String s) throws NumberF

8、ormatExceptionpublic static float parseFloat(String s) throws NumberFormatExceptionpublic static double parseDouble(String s) throws NumberFormatException 可以将“数字”格式的字符串,转化为相应的基本数据类型。125.4 对象的字符串表示 在子类的讲述中我们讲过,所有的类都默认是java.lang包中Object类的子类或间接子类。Object类有一个public 方法toString(),一个对象通过调用该方法可以获得该对象的字符串表示。1

9、35.5 StringTokenizer类 当我们分析一个字符串并将字符串分解成可被独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有两个常用的构造方法: StringTokenizer(String s) 为字符串s构造一个分析器。使用默认的分隔符集合,即空格符(若干个空格被看做一个空格)、换行符、回车符、Tab符、进纸符。StringTokenizer(String s, String delim) 为字符串s构造一个分析器。参数dilim中的字符被作为分隔符。14把一个StringTokenizer对象称作一个字符串分析器。一个分析器可以使用nex

10、tToken()方法逐个获取字符串中的语言符号(单词)每当调用nextToken()时,都将在字符串中获得下一个语言符号,每当获取到一个语言符号,字符串分析器中的负责计数的变量的值就自动减一,该计数变量的初始值等于字符串中的单词数目 155.6 字符串与字符、字节数组 public void getChars(int start,int end,char c,int offset ) 字符串调用getChars方法将当前字符串中的一部分字符拷贝到参数c指定的数组中。将字符串中从位置start到end-1位置上的字符拷贝的数组c中,并从数组c的offset处开始存放这些字符。需要注意的是,必须保

11、证数组c能容纳下要被拷贝的字符。public char toCharArray() 字符串对象调用该方法可以初始化一个字符数组,该数组的长度与字符串的长度相等,并将字符串对象的全部字符拷贝到该数组中。16String(byte,int offset,int length) 该构造方法使用平台默认的字符编码,用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。public byte getBytes() 使用平台默认的字符编码,将当前字符串转化为一个字节数组。17 “hello”与new String(“hello”)的区别以下两种方式都定义了两个内

12、容为“hello”的字符串。方式一:String s1= hello,s2=hello; 方式二:String s1=new String(hello),s2=new String(hello);在第一种方式中,“hello”为直接数,Java虚拟机把它作为编译时常量,在内存中只会为它分配一次内存,然后就可以重复使用,因此s1=s2的比较结果为true。在第二种方式中,每个new语句都会新建一个String对象,因此s1=s2的比较结果为false。18public class ThreeStrs public String s1;public String s2;public String

13、s3 = hello;void init1() s1 = hello;void init2() s2 = hello;public static void main(String args) ThreeStrs t = new ThreeStrs();t.init1();t.init2();System.out.println(t.s1 = t.s2); / 打印trueSystem.out.println(t.s1 = t.s3); / 打印trueThreeStrs tt = new ThreeStrs();tt.init1();tt.init2();System.out.println(

14、t.s1 = tt.s1); / 打印true195.7 StringBuffer类 String类创建的字符串对象是不可修改的String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,那么实体是不可以再发生变化的.StringBuffer类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列。 205.8正则表达式regular expressions 一个正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称作正则表达式中的元字符metacharacter 。比如,“dhello”中的d就是有特殊意义

15、的元字符,代表0到9中的任何一个。字符串“9hello”和“1hello”都是和正则表达式:“dhello”匹配的字符串之一。字符串对象调用 public boolean matches(String regex) 方法可以判断当前字符串对象是否和参数regex指的正则表达式匹配。21元字符 MetacharactersSee Java Documentation22Some PatternsAn+a Ana, Annna Aa, ANnaA2,7AA, AAA, , AAAAAAA AAAAAAAAdddd d4A|B(w+)_(w+)(w+).org (d-)?(d3-)?d3-d4 23

16、public class Example4_9 public static void main(String args) / 把字符串中的“aaa”全部替换为“z”/ 打印zbzczSystem.out.println(aaabaaacaaa.replaceAll(a3, z);/ 把字符串中的“aaa”、“aa”或者“a”全部替换为“*”/ 打印*b*c*System.out.println(aaabaaca.replaceAll(a1,3, *);/ 把字符串中的数字全部替换为“z”/ 打印zzzazzbzzccSystem.out.println(123a44b35cc.replaceA

17、ll(d, z);/ 把字符串中的非数字全部替换为“z”/ 打印1234000435000System.out.println(1234abc435def.replaceAll(D, 0);/ 把字符串中的“.”全部替换为“”/ 打印comabcdollappDollSystem.out.println(com.abc.dollapp.Doll.replaceAll(., );/ 把字符串中的“a.b”全部替换为“-”,/ “a.b”表示长度为3的字符串,以“a”开头,以“b”结尾/ 打印-hello-allSystem.out.println(azbhelloahball.replaceAll(a.b, -);/ 把字符串中的所有词字符替换为“#”/ 正则表达式“a-zA-Z_0-9”等价于是“w”/ 打印#.#.#.#.#.#.#System.out.println(a.b.c.replaceAll(a-zA-Z_0-9, #);/ 用正则表达式判断一个字符串是否是一个正确的E-mail 地址格式String rege

温馨提示

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

评论

0/150

提交评论