Java05-工具类与算法.pptx
《Java05-工具类与算法.pptx》由会员分享,可在线阅读,更多相关《Java05-工具类与算法.pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5讲讲工具类与算法工具类与算法JavaJava类库类库语言基础类语言基础类数据结构类数据结构类查找与排序查找与排序Copyright 2011Keerqin All Rights Reserved.Java类库类库Java类库是系统提供的已实现的标准类的集合类库是系统提供的已实现的标准类的集合Java编程的编程的API(ApplicationProgramInterface)系统系统定义好的类根据实现的功能定义好的类根据实现的功能不同划分不同划分成不同的集合,每成不同的集合,每个集合是一个包,合称为类库。个集合是一个包,合称为类库。基础类库(基础类库(JFC)SUNAPI应用程序编程接
2、口应用程序编程接口面向过程语言面向过程语言函数库(子程序包)函数库(子程序包)面向对象语言面向对象语言类库类库Copyright 2011Keerqin All Rights Reserved.Java类库结构类库结构java.langSystem、Math、Thread、基本数据类型类、基本数据类型类.java.util向量、栈、日期向量、栈、日期java.io(用于输入输出)(用于输入输出)(用于网络编程)(用于网络编程)java.applet(编写(编写applet小程序)小程序)java.awt(编写图形用户界面)(编写图形用户界面)Copyright 2011Keerqin All
3、Rights Reserved.Object类类类层次的根,每一个类都是它的子类。类层次的根,每一个类都是它的子类。构造方法:构造方法:Object()一般方法:一般方法:Objectclone()生成当前对象的一个拷贝。生成当前对象的一个拷贝。booleanequals(Objectobj)比较两个对象是比较两个对象是否相同。否相同。ClassgetClass()获取当前对象所属的类信息获取当前对象所属的类信息StringtoString()用来返回当前对象本身的有关用来返回当前对象本身的有关信息信息Copyright 2011Keerqin All Rights Reserved.数学运算
4、的数学运算的Math类类属性属性publicfinalstaticdoubleE;/数学常量数学常量epublicfinalstaticdoublePI;/圆周率常量圆周率常量方法(均为静态方法)方法(均为静态方法)publicstaticintabs(inti);求绝对值求绝对值publicstaticdoublesin(doublea);/sin函数函数publicstaticdoublelog(doublea);/log函数函数publicstaticdoublemax(doublea,doubleb);publicstaticdoublepow(doublea,doubleb);pub
5、licstaticdoublerandom();/产生产生01之间随机数之间随机数Copyright 2011Keerqin All Rights Reserved.数学运算的数学运算的Math类类publicstaticdoubleexp(doublea);publicstaticintround(floata);publicstaticdoublesqrt(doublea);Copyright 2011Keerqin All Rights Reserved.Math类例类例publicclassTestpublicstaticvoidmain(Stringargs)System.out.p
6、rintln(Math.E);/2.7182818System.out.println(Math.PI);/3.14159265System.out.println(Math.sqrt(9.08);/3.0133038System.out.println(Math.pow(2,3);/8.0System.out.println(Math.round(99.6);/100System.out.println(Math.abs(-8.09);/8.09System.out.println(Math.random();/0.14System.out.println(Math.random();/0.
7、69随机数Copyright 2011Keerqin All Rights Reserved.System类类实现了用户访问系统资源时的系统无关编程接口实现了用户访问系统资源时的系统无关编程接口属性标准输入输出属性标准输入输出publicstaticInputStreaminpublicstaticPrintStreamoutpublicstaticPrintStreamerr方法获取系统时间信息方法获取系统时间信息publicstaticlongcurrentTimeMillis();获取自获取自1970年年1月月1日零时至当前系统时刻的微秒数日零时至当前系统时刻的微秒数方法强制方法强制Ja
8、va虚拟机退出运行状态,并把状态信息虚拟机退出运行状态,并把状态信息status返回给运行返回给运行虚拟机的操作系统虚拟机的操作系统publicstaticvoidexit(intstatus);例:例:System.exit(0);Copyright 2011Keerqin All Rights Reserved.System类类方法取系统属性方法取系统属性staticStringgetProperty(Stringkey)例例:显示显示classpathpublicclassTestpublicstaticvoidmain(Stringargs)System.out.println(Sys
9、tem.getProperty(java.class.path);Copyright 2011Keerqin All Rights Reserved.向量类向量类-Vectorjava.util.Vector实现链式存储结构实现链式存储结构适合于如下的情况适合于如下的情况需要处理的对象数目不定需要处理的对象数目不定序列中元素都是对象,而不是基本数据类型的量序列中元素都是对象,而不是基本数据类型的量需要做频繁的元素插入和删除需要做频繁的元素插入和删除需要定位序列中的对象或其他查找操作需要定位序列中的对象或其他查找操作 对象对象对象对象 0 1 2 3Copyright 2011Keerqin A
10、ll Rights Reserved.创建向量类对象创建向量类对象创建向量类的对象创建向量类的对象VectormyVector=newVector();创建空的向量对象(初始容量为创建空的向量对象(初始容量为10)优化存储管理优化存储管理VectormyVector=newVector(100);创建空的向量对象(初始容量为创建空的向量对象(初始容量为100)VectormyVector=newVector(100,50);创建空的向量对象(初始容量为创建空的向量对象(初始容量为100,增量为,增量为50)Copyright 2011Keerqin All Rights Reserved.向量
11、元素操作向量元素操作追加元素追加元素add(Objectelement)插入元素插入元素add(intindex,Objectelement)修改向量中的元素修改向量中的元素set(intindex,Objectelement)删除向量中的指定元素删除向量中的指定元素Objectremove(intindex)(返回被删元素)返回被删元素)Booleanremove(Objectelement)removeRange(inti,intj)(包括包括i但不包括但不包括j)Copyright 2011Keerqin All Rights Reserved.向量元素操作向量元素操作取出向量中的指定元
12、素取出向量中的指定元素Objectget(intindex)测试对象在向量中是否存在测试对象在向量中是否存在booleancontains(Objectelement)查找指定元素的位置查找指定元素的位置intindexOf(Objectelement)intindexOf(Objectelement,intfromIndex)返回一个包含向量中所有元素的对象数组返回一个包含向量中所有元素的对象数组ObjecttoArray()Copyright 2011Keerqin All Rights Reserved.获取向量信息获取向量信息清空向量清空向量(删除所有元素)删除所有元素)clear()
13、测试向量是否为空测试向量是否为空booleanisEmpty()当前向量元素数量当前向量元素数量intsize()向量当前容量向量当前容量intcapacity()Copyright 2011Keerqin All Rights Reserved.向量例向量例importjava.util.*;publicclassTestpublicstaticvoidmain(Stringargs)Vectorv1=newVector();for(inti=0;i15;i+)v1.add(newString(Integer.toString(i);System.out.println(v1.get(2);
14、/输出:输出:2System.out.println(v1.contains(3);/输出:输出:trueSystem.out.println(v1.indexOf(4);/输出:输出:4v1.set(2,newString(wang);System.out.println(v1.get(2);/输出:输出:wangSystem.out.println(v1.size();/输出:输出:15System.out.println(v1.capacity();/输出:输出:20System.out.println(v1.isEmpty();/输出:输出:falsev1.clear();System
15、.out.println(v1.isEmpty();/输出:输出:trueCopyright 2011Keerqin All Rights Reserved.日期类日期类Calendar抽象类,在抽象类,在Date对象和一组整数域之间进行转换:对象和一组整数域之间进行转换:YEAR,MONTH,DAY,HOUR,Calendarc=Calendar.getInstance();intc.get(Calendar.YEAR)intc.get(Calendar.MONTH)(1月为月为0)intc.get(Calendar.DATE)intc.get(Calendar.HOUR)intc.get(
16、Calendar.MINUTE)intc.get(Calendar.SECOND)c.set(Calendar.YEAR,2000)c.set(Calendar.MONTH,10)(11月月)c.set(Calendar.DATE,7)c.set(2000,10,7)Copyright 2011Keerqin All Rights Reserved.日期类日期类Calendar例例importjava.util.*;publicclassTestpublicstaticvoidmain(Stringargs)Calendarc=Calendar.getInstance();System.out
17、.println(c.get(Calendar.YEAR)+年年+(c.get(Calendar.MONTH)+1)+月月+c.get(Calendar.DATE)+日日);System.out.println(c.get(Calendar.HOUR)+时时+c.get(Calendar.MINUTE)+分分+c.get(Calendar.SECOND)+秒秒);c.set(2008,7,8);/2008年年8月月8日日System.out.println(c.get(Calendar.YEAR)+年年+(c.get(Calendar.MONTH)+1)+月月+c.get(Calendar.D
18、ATE)+日日);Copyright 2011Keerqin All Rights Reserved.堆栈堆栈Stack是是Vector的子类的子类构造函数构造函数Stack()建立一个新的栈建立一个新的栈方法方法booleanempty()测试栈是否空测试栈是否空Objectpeek()查看栈顶元素查看栈顶元素Objectpop()弹栈(出栈)弹栈(出栈)Objectpush(Objectitem)压栈(进栈)压栈(进栈)intsearch(Objectitem)查找栈中元素,返回距栈顶位置查找栈中元素,返回距栈顶位置(栈顶位置为(栈顶位置为1)栈底栈顶弹栈压栈堆栈例堆栈例-表达式计算表达式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java05 工具 算法
限制150内