Java程序设计-8-常用类及开源工具课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java程序设计-8-常用类及开源工具课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 常用 工具 课件
- 资源描述:
-
1、JavaJava程序设计程序设计常用类及开源工具常用类及开源工具学习目标学习目标理解理解ObjectObject掌握掌握SystemSystem类类掌握掌握StringString与与StringBufferStringBuffer了解正则表达式了解正则表达式掌握日期处理机制掌握日期处理机制了解定时器了解定时器掌握随机类掌握随机类RandomRandom掌握数值类掌握数值类了解开源代码了解开源代码通过通过JFreeChartJFreeChart了解如何使用图形绘制类库了解如何使用图形绘制类库1.Object 1.Object ObjectObject类是所有类是所有JavaJava类类(系统提
2、供的,第三方系统提供的,第三方类库、用户自定义的类库、用户自定义的)的根类的根类 。public class Object public Object()public final Class getClass()public int hashCode()public boolean equals(Object obj)protected Object clone()throws CloneNotSupportedException public String toString()public final void notify()public final void notifyAll()pub
3、lic final void wait()throws InterruptedException protected void finalize()throws Throwable 对象的哈希码对象的哈希码-hashCode()-hashCode()u每个对象都有自己的哈希码,利用这个哈希码每个对象都有自己的哈希码,利用这个哈希码可以表示一个对象。在可以表示一个对象。在Object Object 提供的提供的 hashCode()hashCode()的缺省实施通过将对象的内存地的缺省实施通过将对象的内存地址对映于一个整数值来生成。址对映于一个整数值来生成。u如果两个对象是相等的,它们必须有相同
4、的如果两个对象是相等的,它们必须有相同的 hashCode()hashCode()值值 toString()toString()方法方法 u如:如:System.out.println(student)System.out.println(student)u输出:输出:chap5.sample.Postgraduatechap5.sample.Postgraduate 1172e081172e08对象间的相等性比较对象间的相等性比较-euqals()-euqals()和和”=”=”u对于两个对象引用变量,对于两个对象引用变量,equals()equals()比较的是逻辑意义,比较的是逻辑意义,
5、而不是判断两个引用变量是否是一个对象。但是而不是判断两个引用变量是否是一个对象。但是“=”=”则则判断的是两端的引用变量是否是引用一个对象判断的是两端的引用变量是否是引用一个对象u对于两个字符串,对于两个字符串,“=”=”返回返回truetrue,例如,例如“hello”=“hello”hello”=“hello”的结果是的结果是truetrue。u数值类对象和字符串对象之间的逻辑性相等判断,比较数值类对象和字符串对象之间的逻辑性相等判断,比较的是它们各自的状态的是它们各自的状态(值值),所以只要两个对象的值相同,所以只要两个对象的值相同,equals()equals()就返回就返回truet
6、rue,但是只要不是引用的同一个对象,但是只要不是引用的同一个对象,=返回返回false false hello=hellotruenew String(hello)=new String(hello)flasestr1=str2flasestr1.equals(str2)truestr1=str3truestr1.equals(str3)truea=bflasea.equals(b)truestudent1=student2flasestudent1.equals(student2)truestudent1=student3truestudent1.equals(student3)truec
7、lone()方法如何复制对象本身最基本的作法:实现java.lang.Cloneable(Interface)u/要实现Cloneableupublic class Point implementsCloneable implementsCloneable uupublic Object clone()throws public Object clone()throws CloneNotSupportedException CloneNotSupportedException u/呼叫父类别的clone()clone()来进复制ureturn super.clone();return supe
8、r.clone();u u2.System2.System类类SystemSystem包含了一些我们常用的方法与成员变量。包含了一些我们常用的方法与成员变量。SystemSystem不能被实例化,不能被实例化,所有的方法所有的方法都可以直接引用。在都可以直接引用。在 System System 类提供的设施中,类提供的设施中,有标准输入、标准输出和错误输出流;对外部有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方的方法;还有快速复制数组的一部分的实用方法法 2.System2.Sys
9、tem类类(cont.)(cont.)static PrintStream errstatic PrintStream err“标准标准”错误输出流。默认是显示器错误输出流。默认是显示器static InputStream instatic InputStream in“标准标准”输入流。默认是键盘输入流。默认是键盘static PrintStream outstatic PrintStream out“标准标准”输出流。默认是显示器输出流。默认是显示器arraycopy()arraycopy()指定源数组中复制一个数组,复制从指定的位置开始,到目标指定源数组中复制一个数组,复制从指定的位置开
10、始,到目标数组的指定位置结束。数组的指定位置结束。getPropertiesgetProperties()()确定当前的系统属性。确定当前的系统属性。loadLibrary(String loadLibrary(String libname)libname)加载由加载由 libname libname 参数指定的系统库。将库名映射到实际系统参数指定的系统库。将库名映射到实际系统库的方法取决于系统库的方法取决于系统currentTimeMillis()()返回以毫秒为单位的当前时间返回以毫秒为单位的当前时间setErr(PrintStream err)setErr(PrintStream err
11、)新分配新分配“标准标准”错误输出流。错误输出流。setIn(InputStream in)setIn(InputStream in)重新分配重新分配“标准标准”输入流。输入流。setOut(PrintStream out)setOut(PrintStream out)重新分配重新分配“标准标准”输出流。输出流。3.String3.String与与StringBufferStringBuffer字符串常量是一个用双引号字符串常量是一个用双引号(“”)(“”)括起来的字符序列括起来的字符序列 编译器会为每一个字符串常量创建对象。另外,字符编译器会为每一个字符串常量创建对象。另外,字符串常量中可以
12、包含一些不能从键盘上输入的字符,这串常量中可以包含一些不能从键盘上输入的字符,这涉及到字符转义。例如:涉及到字符转义。例如:uThis is a u03c0 This is a u03c0 实际上就是实际上就是 This is a This is a u另外,还需要提醒注意的是:字符串中的所有字符都另外,还需要提醒注意的是:字符串中的所有字符都是是UnicodeUnicode字符,所以每个字符均占两个字节。字符,所以每个字符均占两个字节。字符串常量和字符串对象是两个不同的概念,字符串字符串常量和字符串对象是两个不同的概念,字符串常量有在内存当中由编译器分配的固定区域,保存有常量有在内存当中由编
13、译器分配的固定区域,保存有字符序列。而字符串对象只是一个引用,所以不能通字符序列。而字符串对象只是一个引用,所以不能通过字符串对象对常量进行修改,例如:过字符串对象对常量进行修改,例如:uString str=This is a string literal;String str=This is a string literal;ustr=This is other string literal;str=This is other string literal;另一个例子:另一个例子:uString str1=This is a string literal;String str1=This
14、is a string literal;uString str2=This is+a string literal;String str2=This is+a string literal;u实际上实际上str1str1和和str2str2指向了同一引用指向了同一引用 字符串运算字符串运算 u 字符串连接、比较、分割、子串的查询等字符串连接、比较、分割、子串的查询等连接连接(+)(+)值比较值比较(equals(),compareTo()(equals(),compareTo()对象比较对象比较 =提取、检索、分割字符串提取、检索、分割字符串u charAt()charAt()、substri
15、ng()substring()u indexOf();indexOf();u split()split()构造格式化字符串构造格式化字符串u public static String format(String public static String format(String format,Object.args)format,Object.args)StringBufferStringBuffer因为因为StringString对象是不能修改的,对象是不能修改的,JavaJava语言提供语言提供了另外一个能够修改的类似字符串的字符串缓了另外一个能够修改的类似字符串的字符串缓冲区类,就是冲
16、区类,就是StringBufferStringBuffer。对于。对于StringBufferStringBuffer对象可以进行添加、删除、替换对象可以进行添加、删除、替换等操作。等操作。创建创建uStringBuffer sbf=new StringBuffer();StringBuffer sbf=new StringBuffer();u创建一个不带字符的缓冲区,默认容量为创建一个不带字符的缓冲区,默认容量为1616个字符,个字符,随着操作容量将发生变化。随着操作容量将发生变化。uStringBuffer sbf=new StringBuffer(StringBuffer sbf=new
17、 StringBuffer(初初始化字符串始化字符串););u按照给定内容创建一个缓冲区按照给定内容创建一个缓冲区,初始容量为初始容量为16+16+字符字符长度。长度。uStringBuffer sbf=new StringBuffer(256);StringBuffer sbf=new StringBuffer(256);u创建一个具有初始容量的缓冲区。创建一个具有初始容量的缓冲区。追加字符串追加字符串uappend(.)append(.)方法是一个适应于基本类型和引用类型的方方法是一个适应于基本类型和引用类型的方法。例如:法。例如:sbf.append(10);sbf.append(10)
18、;usbf.append(additional string);sbf.append(additional string);删除操作删除操作uStringBuffer delete(int,int)StringBuffer delete(int,int)uStringBuffer deleteCharAt(int)StringBuffer deleteCharAt(int)增加操作增加操作uStringBuffer insert(int,boolean|Object|)StringBuffer insert(int,boolean|Object|)替换操作替换操作uStringBuffer r
19、eplace(int,int,String)StringBuffer replace(int,int,String)uvoid setCharAt(int,char)void setCharAt(int,char)从从StringBufferStringBuffer到到StringStringu基于一个基于一个StringBufferStringBuffer对象的内容创建字符串对象的内容创建字符串可以:可以:uString str=new String(sbf);String str=new String(sbf);uString str=sbf.toString();String str=s
20、bf.toString();4 4、正则表达式、正则表达式一个例子一个例子u+|-?(+|-?(d+(.dd+(.d*)?)|(.d+)?)|(.d+)a+123.56,b.4,c-123 a+123.56,b.4,c-123 u+123.56+123.56u.4.4u-123-123java.util.regexjava.util.regex是一个用正则表达式所订制是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库。它包的模式来对字符串进行匹配工作的类库。它包括两个类:括两个类:uPatternPattern:是一个正则表达式经编译后的表现:是一个正则表达式经编译后的表现模式。模式。
21、uMatcherMatcher:是一个状态机器,它依据:是一个状态机器,它依据PatternPattern对对象做为匹配模式对字符串展开匹配检查。象做为匹配模式对字符串展开匹配检查。public class RegxDemo public class RegxDemo upublic static void main(String args)public static void main(String args)u /定义正则表达式,以便匹配目标字符串定义正则表达式,以便匹配目标字符串 u String regx=+|-?(String regx=+|-?(d+(.dd+(.d*)?)|(.d
22、+)?)|(.d+);u /定义需要匹配的字符串定义需要匹配的字符串u String input=a+123.56,b.4,c-123;String input=a+123.56,b.4,c-123;u Matcher matcher=null;Matcher matcher=null;u /基于定义的正则表达式,创建一个模式对象基于定义的正则表达式,创建一个模式对象 u Pattern pattern=Ppile(regx);Pattern pattern=Ppile(regx);u /从模式创建匹配器从模式创建匹配器u matcher=pattern.matcher(input);matc
23、her=pattern.matcher(input);u /循环获得所有的匹配子串循环获得所有的匹配子串u while(matcher.find()while(matcher.find()u /输出每一个匹配成功的子串序列输出每一个匹配成功的子串序列u System.out.println(System.out.println(matcher.group()matcher.group(););u u 正则表达式是有普通字符,包括大小写字母正则表达式是有普通字符,包括大小写字母和数字以及一些具有特殊含义的符号组成的和数字以及一些具有特殊含义的符号组成的字符序列。简单的如字符序列。简单的如strs
24、tr、strstr*,复杂,复杂的如下面的例子:的如下面的例子:u+|-?(d+(.d+|-?(d+(.d*)?)|(.d+)?)|(.d+)这里面就包括了各种预先定义好的字符在起这里面就包括了各种预先定义好的字符在起作用。(作用。(字符类、正则表达式内的逻辑操作字符类、正则表达式内的逻辑操作符、预定义字符类、量词、边界符、预定义字符类、量词、边界)字符类字符类(Character Classes)(Character Classes)abcabc对应位置上可以是对应位置上可以是a a、b b、c c三个字母任意一个三个字母任意一个abcabc 取反,此模式意味着对应位置上可以是除取反,此模式
25、意味着对应位置上可以是除a,b,c a,b,c 之外的任一字符之外的任一字符a-zA-Za-zA-Z-范围,此模式意味着对应位置上可以是大小写字范围,此模式意味着对应位置上可以是大小写字母母a-dm-pa-dm-p并,此模式意味着对应位置上可以是并,此模式意味着对应位置上可以是a a到到d,d,或者或者m m 到到 p pa-z&defa-z&def&交,此模式意味着对应位置上可以是交,此模式意味着对应位置上可以是d,e,f d,e,f a-z&bca-z&bca a 到到 z,z,排除排除b b和和c:c:等价于等价于ad-zad-za-z&m-p a a 到到 z,z,排除排除m m到到
展开阅读全文