JavaJDK6学习笔记-ppt简体版第06章.ppt
-
资源ID:70799147
资源大小:292.50KB
全文页数:27页
- 资源格式: PPT
下载积分:11.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
JavaJDK6学习笔记-ppt简体版第06章.ppt
第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文件的类别中找到支持的正则表示式相关信息使用正则表示式几个常用的字符比对符号方法说明.符合任一字符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或cabc符合a或b或c之外的字符a-zA-Z符合a到z或者是A到Z的字符a-dm-pa到d或者是m到p,也可以写成a-dm-pa-z&defa到z并且是d或e或f,结果就是d或e或f可以符合a-z&bca到z并且不是b或ca-z&m-pa到z并且不是m到p使用正则表示式Greedy quantifiers范例作用X?X可出现一次或完全没有X*X可出现零次或多次X+X可出现一次或多次XnX可出现n次Xn,X可出现至少n次Xn,mX可出现至少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();