Java JDK 6学习笔记——ppt简体版 第06章

上传人:伴*** 文档编号:243073511 上传时间:2024-09-15 格式:PPT 页数:27 大小:600.50KB
返回 下载 相关 举报
Java JDK 6学习笔记——ppt简体版 第06章_第1页
第1页 / 共27页
Java JDK 6学习笔记——ppt简体版 第06章_第2页
第2页 / 共27页
Java JDK 6学习笔记——ppt简体版 第06章_第3页
第3页 / 共27页
点击查看更多>>
资源描述
单击以编辑母片标题样式,单击以编辑母片,第二层,第三层,第四层,第五层,*,第,6,章,字 串,认识字符串(,String,),字符串进阶运用,String,类别,在某些程序语言中,字符串是以字符数组的方式存在,在,Java,中字符串不仅仅是字符数组,而是,String,类别的一个实例,String text =,字符串的使用,;,System.out.println(text);,String,类别,字符串必须使用“”来包括您的文字,字符串的字符是使用,Unicode,字符来建构,字符串的串接在,Java,中可以直接使用,+,String msg =,哈啰!,;,msg = msg + Java,程序设计!,;,System.out.println(msg);,String,类别,字符串在,Java,中以,String,类别的一个实例存在,方法,说明,length(),取得字符串的字符长度,equals(),判断原字符串中的字符是否相等于指定字符串中的字符,toLowerCase(),转换字符串中的英文字符为小写,toUpperCase(),转换字符串中的英文字符为大写,String text = hello;,System.out.println(,字符串内容,: + text);,System.out.println(,字符串长度,: + text.length();,System.out.println(,等於,hello? +,text.equals(hello);,System.out.println(,转为大寫,: +,text.toUpperCase();,System.out.println(,转为小寫,: +,text.toLowerCase();,String,类别,将输入的字符串转换为整数、浮点数等,指定的字符串无法剖析为指定的数据型态数值,则会发生,NumberFormatException,例外,方法,说明,Byte.parseByte(,字符串,),将字符串剖析为位,Short.parseShort(,字符串,),将字符串剖析为,short,整数,Integer.parseInt(,字符串,),将字符串剖析为,int,整数,Long.parseLong(,字符串,),将字符串剖析为,long,整数,Float.parseFloat(,字符串,),将字符串剖析为,float,浮点数,Double.parseDouble(,字符串,),将字符串剖析为,double,浮点数,String,类别,以配置对象的观念来宣告字符串,两种宣告方式是有所差别的,String str = new String(caterpillar);,String str = caterpillar;,String,类别,使用索引取得字符的相关方法,方法,说明,char charAt(int index),传回指定索引处的字符,int indexOf(int ch),传回指定字符第一个找到的索引位置,int indexOf(String str),传回指定字符串第一个找到的索引位置,int lastIndexOf(int ch),传回指定字符最后一个找到的索引位置,String substring(int beginIndex),取出指定索引处至字符串尾端的子字符串,String substring(int beginIndex, int endIndex),取出指定索引范围子字符串,char toCharArray(),将字符串转换为字符数组,String,类别,endsWith(),方法,String filenames = caterpillar.jpg, cater.gif,bush.jpg, wuwu.jpg, clockman.gif;,System.out.print(,过滤出,jpg,檔案,: );,for(int i = 0; i filenames.length; i+) ,if(filenamesi.endsWith(jpg) ,System.out.print(filenamesi + );,System.out.println();,不可变(,immutable,)字符串,一个字符串对象一旦被配置,它的内容就是固定不可变的(,immutable,),不要以为下面的陈述就是改变一个字符串对象的内容,String str = Just;,str = Justin;,不可变(,immutable,)字符串,对于一些可以共享的字符串对象,会先在,String,池中查找是否存在相同的,String,内容,当您直接在程序中使用,来包括一个字符串时,该字符串就会在,String,池中,String str1 = flyweight;,String str2 = flyweight;,System.out.println(str1 = str2);,不可变(,immutable,)字符串,String,的,intern(),方法,如果池(,Pool,)中已经包括了相同的,String,对象(相同与否由,equals(),方法决定),那么会从池中返回该字符串,否则的话原,String,对象会被加入池中,并返回这个,String,对象的参考,不可变(,immutable,)字符串,String str1 = fly;,String str2 = weight;,String str3 = flyweight;,String str4 = null;,str4 = str1 + str2;,System.out.println(str3 = str4);,str4 = (str1 + str2).intern();,System.out.println(str3 = str4);,不可变(,immutable,)字符串,不可变(,immutable,)字符串,不可用,=,比较字符串的字符内容是否相同,要比较两个字符串对象的字符值是否相同,您要使用,equals(),方法,String str1 = new String(caterpillar);,String str2 = new String(caterpillar);,System.out.println(str1 = str2);,String str1 = new String(caterpillar);,String str2 = new String(caterpillar);,System.out.println(str1.,equals(str2),);,StringBuilder,类别,使用,+,来串接字符串以达到附加新字符或字符串的目的,但,+,会产生一个新的,String,实例,不建议使用,+,来进行字符串的串接,StringBuilder,类别,String text = ;,long beginTime = System.currentTimeMillis();,for(int i = 0; i 10000; i+),text = text + i;,long endTime = System.currentTimeMillis();,System.out.println(,运行时间:, + (endTime - beginTime);,StringBuilder builder = new StringBuilder();,beginTime = System.currentTimeMillis();,for(int i = 0; i 10000; i+),builder.append(String.valueOf(i);,endTime = System.currentTimeMillis();,System.out.println(,运行时间:, + (endTime - beginTime);,命令行自变量,命令行自变量,在,main(),的参数列撰寫,Stringargs,,目的就是用来接受一个字符串数组,public static void main(String args) ,System.out.print(,读入的引數,: );,for(int i = 0; i args.length; i+),System.out.print(argsi + );,System.out.println();,java CommandLineArg -file student.dat,读入的自变量,: -file student.dat,分离字符串,使用,String,的,split(),String fakeFileData = ,justint64/5/26t0939002302t5433343,momort68/7/23t0939100391t5432343 ;,for(String data : fakeFileData) ,String tokens = data.split(t);,for(String token : tokens) ,System.out.print(token + t| );,System.out.println();,使用正则表示式,matches(),、,replaceAll(),等方法时使用,Java,在,J2SE1.4,之后开始支持正则表示式,可以在,API,文件的,java.util.regex.Pattern,类别中找到支持的正则表示式相关信息,使用正则表示式,几个常用的字符比对符号,方法,说明,.,符合任一字符,d,符合,0,到,9,任一个数字字符,D,符合,0-9,以外的字符,s,符合,t,、,n,、,x0B,、,f,、,r,等空格符,w,符合,a,到,z,、,A,到,Z,、,0,到,9,等字符,也就是数字或是字母都符合,W,符合,a,到,z,、,A,到,Z,、,0,到,9,等之外的字符,也就是除数字与字母外都符合,使用正则表示式,String text = abcdebcadxbc;,String tokens = text.split(.bc);,for(String token : tokens) ,System.out.print(token + );,System.out.println();,tokens = text.split(.cd);,for(String token : tokens) ,System.out.print(token + );,System.out.println();,使用正则表示式,Character class,范例,作用,abc,符合,a,、,b,或,c,abc,符合,a,或,b,或,c,之外的字符,a-zA-Z,符合,a,到,z,或者是,A,到,Z,的字符,a-dm-p,a,到,d,或者是,m,到,p,,也可以写成,a-dm-p,a-z&def,a,到,z,并且是,d,或,e,或,f,,结果就是,d,或,e,或,f,可以符合,a-z&bc,a,到,z,并且不是,b,或,c,a-z&m-p,a,到,z,并且不是,m,到,p,使用正则表示式,Greedy quantifiers,范例,作用,X?,X,可出现一次或完全没有,X*,X,可出现零次或多次,X+,X,可出现一次或多次,Xn,X,可出现,n,次,Xn,X,可出现至少,n,次,Xn, m,X,可出现至少,n,次,但不超过,m,次,X?,X,可出现一次或完全没有,Pattern,、,Matcher,将正则表示式视为一个对象来重复使用,可用,Pattern,的静态方法,compile(),进行编译,compile(),方法会传回一个,Pattern,的实例,这个实例代表您的正则表示式,Pattern,、,Matcher,String phones1 =,Justin,的手机号码:,0939-100391n +,momor,的手机号码:,0939-666888n;,Pattern pattern = Ppile(.*0939-d6);,Matcher matcher = pattern.matcher(phones1);,while(matcher.find() ,System.out.println(matcher.group();,String phones2 =,caterpillar,的手机号码:,0952-600391n +,bush,的手机号码:,0939-550391;,matcher = pattern.matcher(phones2);,while(matcher.find() ,System.out.println(matcher.group();,Pattern,、,Matcher,String text = abcdebcadxbc;,Pattern pattern = Ppile(.bc);,Matcher matcher = pattern.matcher(text);,while(matcher.find() ,System.out.println(matcher.group();,System.out.println();,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!