Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章

上传人:w****i 文档编号:94406187 上传时间:2019-08-06 格式:PPT 页数:27 大小:600.50KB
返回 下载 相关 举报
Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章_第1页
第1页 / 共27页
Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章_第2页
第2页 / 共27页
Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章_第3页
第3页 / 共27页
Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章_第4页
第4页 / 共27页
Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章》由会员分享,可在线阅读,更多相关《Java JDK 6学习笔记 教学课件 ppt 作者 978-7-302-14995-8第06章(27页珍藏版)》请在金锄头文库上搜索。

1、第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

2、中以String类别的一个实例存在,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类别,将输入的字符串转换为整

3、数、浮点数等 指定的字符串无法剖析为指定的数据型态数值,则会发生NumberFormatException例外,String类别,以配置对象的观念来宣告字符串 两种宣告方式是有所差别的,String str = new String(“caterpillar“);,String str = “caterpillar“;,String类别,使用索引取得字符的相关方法,String类别,endsWith()方法,String filenames = “caterpillar.jpg“, “cater.gif“, “bush.jpg“, “wuwu.jpg“, “clockman.gif“; Sys

4、tem.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)字符串,对于一些可以共享的

5、字符串对象,会先在String池中查找是否存在相同的String内容 当您直接在程序中使用“来包括一个字符串时,该字符串就会在String池中,String str1 = “flyweight“; String str2 = “flyweight“; System.out.println(str1 = str2);,不可变(immutable)字符串,String的intern()方法 如果池(Pool)中已经包括了相同的String对象(相同与否由equals()方法决定),那么会从池中返回该字符串 否则的话原String对象会被加入池中,并返回这个String对象的参考,不可变(immut

6、able)字符串,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)字符串,不可用=比较字符串的字符内容是否相同 要比较两个字符串对象的字符值是否相同,您要使用equa

7、ls()方法,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实例

8、 不建议使用+来进行字符串的串接,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.

9、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

10、 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) Stri

11、ng 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类别中找到支持的正则表示式相关信息,使用正则表示式,几个常用的字符比对符号,使用正则表示式,String text = “abcdebcadxbc“; String tokens = tex

12、t.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,使用正则表示式,Greedy quantifiers,Pattern、Matcher,将正则表示式视为一个对象来重复使用,可用Pattern的静态

13、方法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

14、= “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();,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号