基础类库和工具类库.ppt_第1页
基础类库和工具类库.ppt_第2页
基础类库和工具类库.ppt_第3页
基础类库和工具类库.ppt_第4页
基础类库和工具类库.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

六 基础类库和工具类库 Java类库字符串相关类集合日期与时间 基础类库和工具类库 2 1 Java类库 熟悉Java基础类库掌握Object理解基本数据类型的封装掌握System和Math类 基础类库和工具类库 3 1 Java类库 Java的类库是系统提供的已实现的标准类的集合 是Java编程的API ApplicationProgramInterface 它可以帮助开发者方便 快捷地开发Java程序 这些系统定义好的类根据实现的功能不同 可以划分成不同的集合 每个集合是一个包 合称为类库 Java的类库大部分是由它的发明者 SUN公司提供的 这些类库称为JFC 基础类库 JavaFoundationClassLibrary API应用程序编程接口面向过程语言 函数库 子程序包 面向对象语言 类库 基础类库和工具类库 4 类库的结构java lang语言基础类库 System Math Thread 基本数据类型类 java utilJava的工具类库 向量 栈 日期 java ioJava的标准输入输出类库java applet用于实现JavaApplet小程序的类库java awt用于构建图形用户界面的类库java awt event界面用户交互控制和事件响应类库java awt image用来处理和操纵来自于网上图片的工具类库Java的用于实现网络功能的类库java sql用来时间JDBC的类库 利用它可以使Java访问各种数据库 基础类库和工具类库 5 使用JDKDocument查看类库在JDK文档的解压目录下 选择index html进入JDK文档 然后在文档中单击 API Language Java2PlatformAPISpecification 就可以打开JDK中的类库 注意文档中标记为Deprecated的方法 基础类库和工具类库 6 Object类 Java程序中所有类的直接或间接父类 也是类库中所有类的的父类 所有的其他类都是从Object类派生 构造方法 Object 一般方法 Objectclone 生成当前对象的一个拷贝 booleanequals Objectobj 比较两个对象是否相同 ClassgetClass 获取当前对象所属的类信息 StringtoString 用来返回当前对象本身的有关信息 inthashCode 返回对象的哈希码 finalize 定义回收当前对象时所需要完成的清理工作 基础类库和工具类库 7 例6 1 Object中定义方法的使用 packagebook ch6 publicclassBasicObjectDemo publicstaticvoidmain String args Aa1 newA Aa2 newA Aa3 a1 System out println a1 equals a2 System out println a3 equals a1 System out println a1 hashCode System out println a1 toString classA falsetrue33263331Book ch6 A lfb8ee3 这两者关系如何 基础类库和工具类库 8 Class类 Java运行时系统会对所有的对象进行类型识别publicfinalClassextendsObject一般方法 StringgetName 返回类名 Field getFields 返回类的public域对象 Method getMethods 返回类的public方法对象 PackagegetPackage 返回该类的包 对Field类StringgetName 取域名对Method类StringgetName 取方法名对Package类StringgetName 基础类库和工具类库 9 数据类型类 基本数据类型vs 数据类型类如 booleanvsBoolean charvsCharacter等数据类型类规定了数据类型的最大值 最小值构造函数 如newInteger 10 完成不同数据类型间转换 注意不同的数据类使用的方法会有不同 如 Double toString 0 08 Integer parseInt 123 Double ValueOf 0 08 intValue 等 见JDKDoc 例6 2 基本数据封装类 基础类库和工具类库 10 publicclassBasicDataTypeClassDemo publicBasicDataTypeClassDemo publicstaticvoidmain Stringargs Integeri newInteger 256 Integerj newInteger 256 System out println i intValue 2 System out println i doubleValue System out println i i toString System out println i j System out println pareTo j i大取1 i小取 1System out println Integer parseInt 100 2 System out println 100 2 Integer toString 100 2 intk k Integer valueOf 1010 2 System out println k System out println Integer MAX VALUE System out println Integer MIN VALUE 512256 0i 256false0200100 2 200102147483674 2147483674 基础类库和工具类库 11 Math类 Math类用来完成常用的数学运算数学常量 E PI数学运算Math abs 8 09 取绝对值Math exp 5 7 自然对数Math random 取得一个随机数Math sqrt 9 08 开平方Math pow 2 3 乘方Math round 99 6 取得最接近的整数均为static 使用时无需创建实例Math method variable 基础类库和工具类库 12 属性publicfinalstaticdoubleE 数学常量epublicfinalstaticdoublePI 圆周率常量方法 均为静态方法 publicstaticintabs inti publicstaticdoublesin doublea publicstaticdoublelog doublea publicstaticdoublemax doublea doubleb publicstaticdoublepow doublea doubleb publicstaticdoublerandom 产生0 1之间伪随机数 基础类库和工具类库 13 publicstaticdoubleexp doublea publicstaticintround floata publicstaticdoublesqrt doublea 例 System out println Math E 2 718281828 System out println Math PI 3 14159265 System out println Math pow 2 3 8 0System out println Math round 99 6 100System out println Math abs 8 09 8 09 基础类库和工具类库 14 System类 System是一个功能强大的类 它不能被实例化 是一个非常典型的静态方法类 但提供了标准输入输出 运行时的系统信息等工具 系统功能获取系统标准输入 输出System in System out System err获取系统信息System currentTimeMillis 执行系统操作System exit 0 System gc 指定运行垃圾回收器 基础类库和工具类库 15 属性publicstaticInputStreaminpublicstaticPrintStreamoutpublicstaticPrintStreamerr获取系统信息 完成系统操作的方法publicstaticlongcurrentTimeMillis 获取自1970年1月1日零时至当前系统时刻的微秒数publicstaticvoidexit intstatus 强制Java虚拟机退出运行状态 并把状态信息status返回给运行虚拟机的操作系统 如 System exit 0 publicstaticvoidgc 强制调用Java虚拟机的垃圾回收功能 基础类库和工具类库 16 2 字符串相关类 熟悉字符串相关类掌握String和StringBuffer了解StringTokenizer 基础类库和工具类库 17 StringJava语言中将字符串作为对象来处理 定义了相应的类String 位于java lang包中 每一个字符串常量就是String类的一个实例 下表是String类常用的方法 基础类库和工具类库 18 String类的重要特性之一就是线程访问安全 因为String类对象实际上是不可改变的 任何涉及到对String类表示的字符串的操作方法 都是返回一个新创建的String类对象 因此在对一个String类型的使用中 往往会同时创建大量并不需要的String实例 消耗了不必要的系统资源 例6 3 字符串方法的使用 见教材P126页 基础类库和工具类库 19 StringBuffer 为了解决String类的使用对系统资源带来的不利影响 基本类库提供了StringBuffer类 该类封装了一个字符数组 并提供了对这个数组的操作方法 下表是StringBuffer类常用的方法 基础类库和工具类库 20 例6 4 StringBuffer类的使用publicclassStringBufferDemo publicstaticvoidmain String args StringBufferbuffer newStringBuffer buffer append S buffer append tringBuffer System out println buffer charAt 1 System out println buffer capacity System out println buffer indexOf tring System out println buffer buffer toString t161Buffer StringBuffer 基础类库和工具类库 21 StringTokenizer StringTokenizer提供了对字符串的解析和分割功能 使用这个类可以对一个字符串按照某些子串的特征进行分割 例6 4 StringTokenizer的使用 importjava util StringTokenizer publicclassStringTokenizerDemo publicstaticvoidmain String args Strings demoofStringTokenizer StringTokenizertokenizer newStringTokenizer s while tokenizer hasMoreTokens System out println tokenizer nextToken demoofStringTokenizer 基础类库和工具类库 22 了解集合API熟悉Set List Iterator接口熟悉Map接口了解集合数据遍历 排序和查找 集合 基础类库和工具类库 23 集合是一系列对象的聚集 是代表一组对象的一个对象 集合中的每一个对象称为集合的元素 每一个元素都具有一定的数据类型 任何数据类型的对象都可以存放在集合中 集合接口Collection集合接口Set集合接口List集合接口Iterator集合接口Map 基础类库和工具类库 24 Collection接口分布在java util包下 定义了聚集形式数据的基本操作方法 主要包括 publicbooleanadd Object 加入一个元素publicbooleanaddAll Collection 将另外一个集合中的元素全部加入指定的集合中publicvoidclear 清除所有的元素publicbooleancontains Object 判断包含某特定的元素否publicIteratoriterator 得到迭代器publicbooleanremove Object 删除一个元素publicintsize 得到集合中元素的总数publicisEmpty 判断集合是否为空publicObject toArray 将集合转化为对象数组 Collection接口 基础类库和工具类库 25 Collection接口的子接口 定义了一个不重复元素的集合 Set接口 对于集合中的任何两个元素x和y x equals y 始终为false 基础类库和工具类库 26 基础类库和工具类库 27 HashSet类的成员方法 基础类库和工具类库 28 基础类库和工具类库 29 例6 5 Set接口和HashSet类的使用 importjava util Set importjava util HashSet publicclassSetDemo publicstaticvoidmain Stringargs Setset newHashSet 父接口引用变量指向子类对象 set add 1 添加元素set add 2 set add 3 set add 4 set add newInteger 1 添加扩展数据类型的元素set add newDouble 7 0 set add 3 添加重复元素System out println set set toString 输出集合中的元素Objectarray set toArray 将集合转化为数组for inti 0 i array length i System out println tarray i array i toString 基础类库和工具类库 30 Array 1 和array 5 是重复的吗 为什么 基础类库和工具类库 31 例6 6 使用Set接口和HashSet类表示family importjava util Set importjava util HashSet classFather privateStringname Father Stringname this name name publicStringtoString returnname classMother privateStringname Mother Stringname this name name publicStringtoString returnname classDaughter privateStringname Daughter Stringname this name name publicStringtoString returnname classDog privateStringname Dog Stringname this name name publicStringtoString returnname 基础类库和工具类库 32 publicclassFamily publicstaticvoidmain Stringargs Setfamily newHashSet family add newFather father Rhette family add newMother mathor Scarlet family add newDaughter daughter Alice family add newDog dog Windy System out println Thisismyfamily System out println family family toString Thisismyfamily family daughter Alice dog Windy mathor Scarlet father Rhette 注意他们出现的顺序 无序的 基础类库和工具类库 33 Collection接口的子接口 定义了一个有序元素的集合 在使用上类似动态数组 变长数组 可存放的元素数量随插入操作自动进行调整 List接口 允许重复的元素存在 基础类库和工具类库 34 List接口的部分方法 基础类库和工具类库 35 例6 7 List接口和ArrayList类的使用 importjava util publicclassListDemo publicstaticvoidmain Stringargs Listlist newArrayList 父接口引用变量指向子类对象 list add 1 添加元素list add 2 list add 3 list add 4 list add 5 list add newDouble 7 0 添加扩展数据类型的元素list add 4 添加重复元素System out println list list 输出集合中的元素Objectarray list toArray 将集合转化为数组for inti 0 i array length i System out println tarray i array i toString 基础类库和工具类库 36 Array 3 和array 6 是重复的吗 为什么 基础类库和工具类库 37 Iterator接口 Iterator接口主要用来遍历集合中的元素 其主要方法包括 例6 8 使用Iterator接口遍历集合中的元素 基础类库和工具类库 38 importjava util Set importjava util HashSet importjava util Iterator publicclassIteratorDemo publicstaticvoidmain Stringargs Setset newHashSet set add 1 set add 2 set add 3 set add 4 set add newInteger 1 set add newDouble 7 0 Iteratoriterator set iterator 得到集合while iterator hasNext 列举集合中的元素System out println iterator next iterator remove 删除集合中当前的元素 System out println set set 基础类库和工具类库 39 基础类库和工具类库 40 ListIterator是Iterator的子接口 它针对List集合有序的特点 提供了双向检索和元素存取的功能 其方法如下表 基础类库和工具类库 41 例6 9 使用ListIterator接口列举集合中的元素 importjava util List importjava util ArrayList importjava util ListIterator publicclassListIteratorDemo publicstaticvoidmain Stringargs Listlist newArrayList list add 1 list add 2 list add 3 list add 4 list add 5 ListIteratoriterator list listIterator while iterator hasNext 正向列举System out println t iterator next while iterator hasPrevious 逆向列举System out println t iterator previous 基础类库和工具类库 42 基础类库和工具类库 43 Map Collection接口处理单一对象数据集合 Map接口用于处理 关键字 值 这样形式的集合 Map中包括了关键字的集合 值的集合 以及关键字和值的映射关系 实现Map接口的类有很多 其中最常用的是HashMap和HashTable 线程访问安全的 关键字和值只能是String类型 常用于读去配置信息 基础类库和工具类库 44 基础类库和工具类库 45 基础类库和工具类库 46 例6 10 使用Map接口表示family importjava util publicclassFamilyDemo publicstaticvoidmain Stringargs Mapfamily newHashMap family put Rhette 银帆公司 添加元素family put Scarlet 人民医院 family put Alice 育英小学 family put Windy Windy的窝 System out println family get Rhette 输出父亲所在的单位SetkeySet family keySet 列举所有关键字for Iteratoriterator keySet iterator iterator hasNext System out println t iterator next Collectionvalues family values 列举所有的值for Iteratoriterator values iterator iterator hasNext System out println iterator next SetentrySet family entrySet 列举所有映射for Iteratoriterator entrySet iterator iterator hasNext System out println iterator next 基础类库和工具类库 47 银帆公司AliceRhetteScarletWindy育英小学银帆公司人民医院Windy的窝Alice 育英小学Rhette 银帆公司Scarlet 人民医院Windy Windy的窝 基础类库和工具类库 48 集合数据的遍历 1 通用的列举Collection接口集合的方法voidenumerate Collectioncollection for Iteratoriterator collection iterator iterator hasNext Objecto iterator next 2 遍历List集合的方法voidenumerate Listlist for inti 0 i list size i Objecto list get i 3 遍历一些有特殊方法的集合voidenumerate Vectorvector for inti 0 i vector size i Objecto vector elementAt i 基础类库和工具类库 49 查找和排序首先java util Comparator接口提供了比较对象间大小的方法 publicinterfaceComparator intcompare Objecto1 Objecto2 booleanequals Objectobj 其次java util Collections类提供了大量对集合的辅助性操作方法 与排序有关的主要有 publicstaticvoidsort Listlist publicstaticvoidsort Listlist Comparatorc 排序的依据可以采用第二个方法中的参数c来约束 例 P137排序 基础类库和工具类库 50 掌握Date掌握Calendar 4 日期与时间 基础类库和工具类库 51 日期类java util包里提供了操作时间的基本功能类 包括Date Calendar和GregorianCalender类 其中Date类早在JDK1 1版中就出现了 但由于设计存在严重缺陷 其中大量方法被废弃 Deprecated 而被分散到其他类中 因此在使用Date类的时候应该尽量避免使用这些方法 基础类库和工具类库 52 Date构造方法Date 初始化时间对象 记录当前系统时间Date longdate 以毫秒为单位 从1970年1月1日0时开始构造一个Date实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论