欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JAVA工具类与算法.ppt

    • 资源ID:80463607       资源大小:347.99KB        全文页数:35页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA工具类与算法.ppt

    工具类与算法工具类与算法教材第教材第6章章 Java类库 语言基础类 Applet类与Applet小程序 数据结构类 查找与排序Java类库类库nJava类库是系是系统提供的已提供的已实现的的标准准类的集合的集合vJava编程的程的API(ApplicationProgramInterface)v它可以帮助开它可以帮助开发者方便、快捷地开者方便、快捷地开发Java程序。程序。n这些系些系统定定义好的好的类根据根据实现的功能不同,可以划的功能不同,可以划分成不同的集合,每个集合是一个包,合称分成不同的集合,每个集合是一个包,合称为类库。nJava的的类库大部分是由它的大部分是由它的发明者明者SUN公司提公司提供的,供的,这些些类库称称为基基础类库(JFC)。)。nAPI应用程序用程序编程接口程接口v面向面向过程程语言言函数函数库(子程序包)(子程序包)v面向面向对象象语言言类库Java类库结构类库结构njava.langvSystem、Math、Thread、基本数据、基本数据类型型类.njava.utilv向量、向量、栈、日期、日期njava.io(用于(用于输入入输出)出)(用于网(用于网络编程)程)njava.applet(编写写applet小程序)小程序)njava.awt(编写写图形用形用户界面)界面)Object类类n类层次的根,每一个次的根,每一个类都是它的子都是它的子类。n构造方法:构造方法:Object()n一般方法:一般方法:vObjectclone()生成当前生成当前对象的一个拷象的一个拷贝。vbooleanequals(Objectobj)比比较两个两个对象是否相同。象是否相同。vClassgetClass()获取当前取当前对象所属的象所属的类信息信息vStringtoString()用来返回当前用来返回当前对象本身的有关信息象本身的有关信息数学运算的数学运算的Math类类n属性属性vpublicfinalstaticdoubleE;/数学常量数学常量evpublicfinalstaticdoublePI;/圆周率常量周率常量n方法(均方法(均为静静态方法)方法)vpublicstaticintabs(inti);求求绝对值vpublicstaticdoublesin(doublea);/sin函数函数vpublicstaticdoublelog(doublea);/log函数函数vpublicstaticdoublemax(doublea,doubleb);vpublicstaticdoublepow(doublea,doubleb);vpublicstaticdoublerandom();/产生生01之之间随机数随机数数学运算的数学运算的Math类类vpublicstaticdoubleexp(doublea);vpublicstaticintround(floata);vpublicstaticdoublesqrt(doublea);Math类例类例publicclassTestpublicstaticvoidmain(Stringargs)System.out.println(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.69随机数6-1System类类n实现了用了用户访问系系统资源源时的系的系统无关无关编程接口程接口n属性属性标准准输入入输出出vpublicstaticInputStreaminvpublicstaticPrintStreamoutvpublicstaticPrintStreamerrn方法方法获取系取系统时间信息信息vpublicstaticlongcurrentTimeMillis();v获取自取自1970年年1月月1日零日零时至当前系至当前系统时刻的微秒数刻的微秒数n方法方法强制制Java虚虚拟机退出运行状机退出运行状态,并把状,并把状态信息信息status返回返回给运行虚运行虚拟机的操作系机的操作系统vpublicstaticvoidexit(intstatus);v例:例:System.exit(0);System类类n方法取系方法取系统属性属性vstaticStringgetProperty(Stringkey)v例例:显示示classpathpublicclassTestpublicstaticvoidmain(Stringargs)System.out.println(System.getProperty(java.class.path);向量类向量类-Vectorn实现链式存式存储结构构n适合于如下的情况适合于如下的情况v需要需要处理的理的对象数目不定象数目不定v序列中元素都是序列中元素都是对象,而不是基本数据象,而不是基本数据类型的量型的量v需要做需要做频繁的元素插入和繁的元素插入和删除除v需要定位序列中的需要定位序列中的对象或其他象或其他查找操作找操作 对象对象对象对象 0 1 2 3创建向量类对象创建向量类对象n创建向量建向量类的的对象象vVectormyVector=newVector();创建空的向量建空的向量对象(初始容量象(初始容量为10)n优化存化存储管理管理vVectormyVector=newVector(100);创建空的向量建空的向量对象(初始容量象(初始容量为100)vVectormyVector=newVector(100,50);创建空的向量建空的向量对象(初始容量象(初始容量为100,增量,增量为50)向量元素操作向量元素操作n追加元素追加元素vadd(Objectelement)n插入元素插入元素vadd(intindex,Objectelement)n修改向量中的元素修改向量中的元素vset(intindex,Objectelement)n删除向量中的指定元素除向量中的指定元素vObjectremove(intindex)(返回被返回被删元素)元素)vBooleanremove(Objectelement)vremoveRange(inti,intj)(包括包括i但不包括但不包括j)向量元素操作向量元素操作n取出向量中的指定元素取出向量中的指定元素vObjectget(intindex)n测试对象在向量中是否存在象在向量中是否存在vbooleancontains(Objectelement)n查找指定元素的位置找指定元素的位置vintindexOf(Objectelement)vintindexOf(Objectelement,intfromIndex)n返回一个包含向量中所有元素的返回一个包含向量中所有元素的对象数象数组vObjecttoArray()获取向量信息获取向量信息n清空向量清空向量(删除所有元素)除所有元素)vclear()n测试向量是否向量是否为空空vbooleanisEmpty()n当前向量元素数量当前向量元素数量vintsize()n向量当前容量向量当前容量vintcapacity()向量例向量例importjava.util.*;publicclassTestpublicstaticvoidmain(Stringargs)Vectorv1=newVector();for(inti=0;i15;i+)v1.add(newString(Integer.toString(i);System.out.println(v1.get(2);/输出:出: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.out.println(v1.isEmpty();/输出:出:true6-2日期类日期类Calendarn抽象抽象类,在,在Date对象和一象和一组整数域之整数域之间进行行转换:YEAR,MONTH,DAY,HOUR,nCalendarc=Calendar.getInstance();vintc.get(Calendar.YEAR)vintc.get(Calendar.MONTH)(1月月为0)vintc.get(Calendar.DATE)vintc.get(Calendar.HOUR)vintc.get(Calendar.MINUTE)vintc.get(Calendar.SECOND)vc.set(Calendar.YEAR,2000)vc.set(Calendar.MONTH,10)(11月月)vc.set(Calendar.DATE,7)vc.set(2000,10,7)日期类日期类Calendar例例importjava.util.*;classTestpublicstaticvoidmain(Stringargs)Calendarc=Calendar.getInstance();System.out.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.DATE)+日日);6-3例题例题-银行帐户银行帐户 bankAccountm_accNumm_balancem_transRecordgetBalance()saveMoney(.)Transactionm_datem_amountm_typem_remaingetDays()transMeg()6-4nApplet开开发、执行模式行模式applet小程序小程序CLIENT机SERVER机编译器.java源码.class字节码Browser字节码下载applet小程序小程序napplet程序中必程序中必须包含包含类的子的子类。该子子类就是就是applet小程序的主小程序的主类。n系系统类Applet中已中已经定定义了很多的成了很多的成员域和成域和成员方法,它方法,它们规定了定了Applet小程序如何与小程序如何与执行它的行它的解解释器器WWW浏览器配合工作。器配合工作。n主方法主方法被被浏览器自器自动调用的方法。用的方法。vinit()vstart()vstop()vdestroy()vpaint()编写applet小程序就是根据需要重新编写这些方法applet小程序小程序n当当applet下下载时,浏览器首先器首先创建建applet实例并例并调用用init()方法方法进行初始化工作,然后行初始化工作,然后调用用start()方法方法开始开始applet小程序的小程序的执行。行。n当用当用户离开小程序所在离开小程序所在页面面时,浏览器器调用用stop()方法停止小程序方法停止小程序执行;当用行;当用户重新重新进入小程序入小程序页面面时,就再,就再调用用start方法。方法。n当用当用户退出退出浏览器器时,浏览器器调用用destroy()方法并方法并释放放资源。源。n每当需要每当需要时,浏览器器调用用paint()方法重画界面。方法重画界面。appletnApplet执行入口点行入口点由于由于Browser有不同的消息要通知有不同的消息要通知Applet,所以需所以需要多入口。要多入口。publicclassAppletClassextendsAppletpublicvoidinit()start().stop()destroy()paint(g)update(g)Applet的生命周期的生命周期init()初始化第一次被载入start()启动启动执行Appletstop()终止Browser转向其他网页时Applet暂停执行Applet回到当前页,重新激活Appletdestroy()消亡关闭浏览器生命周期称为Applet的主线程一般由Browser或appletviewer自动调用Applet的下载执行过程的下载执行过程WWW服务器存放HTMLWWW服务器存放.classWWW浏览器(Browser)请求HTML文件下载HTML文件解释并显示HTML文件HTML文件请求Applet字节码文件下载字节码解释执行字节码HTML文件文件nnStringgetParameter(Stringname)Applet方法方法nApplet的有关方法的有关方法getParameter(String):返回返回HTML中中设定的定的值getCodeBase():返回:返回.class所在网址所在网址URLgetDocumentBase():返回:返回HTML的的URLgetAppInfo():返回作者、版本、版:返回作者、版本、版权信息信息showStatus(String):在:在浏览器的状器的状态栏输出信息出信息ImagegetImage(URLurl,Stringname)play(URLurl,Stringname)6-56-76-6堆栈堆栈Stackn是是Vector的子的子类n构造函数构造函数Stack()建立一个新的建立一个新的栈n方法方法booleanempty()测试栈是否空是否空Objectpeek()查看看栈顶元素元素Objectpop()弹栈(出(出栈)Objectpush(Objectitem)压栈(进栈)intsearch(Objectitem)查找找栈中元素,返回距中元素,返回距栈顶位置(位置(栈顶位置位置为1)栈底栈顶弹栈压栈堆栈例堆栈例-表达式计算表达式计算#2*(3+5 8 16-4 122*(3+)5-4#操作数栈 s1 操作符栈 s2堆栈例堆栈例-表达式计算表达式计算表达式表达式头栈顶+-*/()#+-*/(#=栈顶运算符 表达式当前运算符6-8排序算法排序算法n冒泡排序算法冒泡排序算法v基本思路:把当前数据序列中的各相基本思路:把当前数据序列中的各相邻数据两两比数据两两比较,发现任何一任何一对数据数据间不符合要求的升序或降序关系不符合要求的升序或降序关系则立即立即调换它它们的的顺序,从而保序,从而保证相相邻数据数据间符合升序或降序符合升序或降序的关系。的关系。n选择排序排序n插入排序插入排序n利用系利用系统类实现排序排序vArrays类提供了多种操作数提供了多种操作数组的方法,包括的方法,包括查找和排序找和排序vpublicstaticvoidsort(inta)/对整型数整型数组排序排序vpublicstaticvoidsort(floata)/对浮点数数浮点数数组排序排序vpublicstaticvoidsort(chara)/对字符数字符数组进行排序行排序排序例排序例importjava.util.Arrays;publicclassTestSysSortpublicstaticvoidmain(Stringargs)intarray_int=4,-5,23,7,0,66,37,365,-22,4;/整型数整型数组Arrays.sort(array_int);/调用用Arrays类的整型数的整型数组排序方法排序方法for(inti=0;iarray_int.length;i+)System.out.print(array_inti+);System.out.println();chararray_char=T,s,i,n,g,h,u,a;/字符数字符数组Arrays.sort(array_char,2,5);/对字符字符组排序,只排第排序,只排第24个元素个元素for(inti=0;iarray_char.length;i+)System.out.print(array_chari+);System.out.println();排序例排序例/字符串数字符串数组Stringarray_str=grape,banana,pear,apple,orange;Arrays.sort(array_str);/调用用sort(Object)方法方法对字符串数字符串数组排序排序for(inti=0;iarray_str.length;i+)System.out.print(array_stri+);查找算法查找算法n顺序序查找找n对半半查找找n利用系利用系统类实现查找找nArrays类几个几个查找方法的定找方法的定义:vpublicstaticintbinarySearch(inta,intkey)vpublicstaticintbinarySearch(floata,floatkey)vpublicstaticintbinarySearch(Objecta,Objectkey)查找例查找例importjava.util.Arrays;publicclassTestSysSearchpublicstaticvoidmain(Stringargs)inti;intarray_int=4,-5,23,7,0,66,37,365,-22,4;Arrays.sort(array_int);/调用用Arrays类排序方法排序排序方法排序i=Arrays.binarySearch(array_int,0);/调用用Arrays类查找方法找方法System.out.println(0是整型数是整型数组下下标为+i+的元素的元素);Stringarray_str=grape,banana,pear,apple,orange;Arrays.sort(array_str);/调用用Arrays类排序方法排序排序方法排序i=Arrays.binarySearch(array_str,apple);/Arrays类查找方法找方法System.out.println(apple是字符串数是字符串数组下下标为+i+的元素的元素);查找例查找例System.out.println(-下面程序用于下面程序用于测试查找方法返回找方法返回值的含的含义-);chararray_char=i,j,k,p,q,r,s;/已排序已排序i=Arrays.binarySearch(array_char,a);System.out.println(查找找对象比最小元素象比最小元素还小,方法返回小,方法返回值是:是:+i);i=Arrays.binarySearch(array_char,j);System.out.println(查找找对象找到,象找到,j是数是数组下下标为+i+的元素的元素);i=Arrays.binarySearch(array_char,m);System.out.println(查找找对象不存在,但位于两个元素之象不存在,但位于两个元素之间,方法返,方法返回回值是:是:+i);i=Arrays.binarySearch(array_char,x);System.out.println(查找找对象比最大元素象比最大元素还大,方法返回大,方法返回值是:是:+i);

    注意事项

    本文(JAVA工具类与算法.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开