版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言实用教程,高等院校规划教材 计算机基础教育系列,8 系统常用类,Java语言包 日期时间类 向量和哈希表,8.1Java基础类库,Java的类库是Java语言提供的已经实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。,Java常用包的简单介绍如下: java.lang包:主要含有与语言相关的类。java.lang包由解释程序自动加载,不需要显示说明。 java.io包:主要含有与输入/输出相关的类,这些类提供了对不同的输入和输出设备读写数据的支持,这些输入和输出设备包括键盘、显示
2、器、打印机、磁盘文件等。 java.util包:包括许多具有特定功能的类,有日期、向量、哈希表、堆栈等,其中Date类支持与时间有关的操作。 java.swing包和java.awt包:提供了创建图形用户界面元素的类。通过这些元素,编程者可以控制所写的Applet或Application的外观界面。包中包含了窗口、对话框、菜单等类。 包:含有与网络操作相关的类,如TCP Scokets、URL等工具。 java.applet包:含有控制HTML文档格式、应用程序中的声音等资源的类,其中Applet类是用来创建包含于HTML的Applet必不可少的类。 java.beans包:定义了应用程序编程
3、接口(API),Java Beans是Java应用程序环境的中性平台组件结构。,8.2Java语言包,Java语言包(java.lang)定义了Java中的大多数基本类。 该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型的类,如:String、Boolean、Byter、Short等。,8.2.1Math类,Math类提供了常用的数学运算方法以及Math.PI和Math.E两个数学常量。 该类是final的,不能被继承,类中的方法和属性全部是静态,不允许在类的外部创建Math类的对象。因此,只能使用Math类的方法而不能对其作任何更改。,8.2.2字
4、符串类,字符串是字符的序列。在Java中,字符串无论是常量还是变量都是用类的对象来实现的。 java.lang提供了两种字符串类:String类和StringBuffer类。,8.2.2字符串类,按照Java语言的规定,String类是immutable的Unicode字符序列,其作用是实现一种不能改变的静态字符串。 例如,把两个字符串连接起来的结果是生成一个新的字符串,而不会使原来的字符串改变。实际上,所有改变字符串的结果都是生成新的字符串,而不是改变原来字符串。,一些常用方法: 字符串的连接: 替换字符串中的字符: 得到字符串的一部分: 改变字符串的大小写: 判断字符串是否以xx开头或结尾
5、: 求字符串的长度: 获取字符串的index值或index对应的字符: 删除字符串前后的空白符: 字符串的比较:,8.2.2字符串类,String类不能改变字符串对象中的内容,只能通过建立一个新串来实现字符串的变化。如果字符串需要动态改变,就需要用StringBuffer类。 StringBuffer类主要用来实现字符串内容的添加、修改、删除,也就是说该类对象实体的内存空间可以自动改变大小,以便于存放一个可变的字符序列。,一些常用方法: append方法: Insert方法: setCharAt(int n, char ch)方法: reverse方法: delete(int n, int m
6、)方法: replace(int n, int m, String str)方法:,8.3日期和时间,Java的日期和时间类包含在Java实用程序包(java.util)中。 利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。,8.3.1Date类,Date类是Java中的日期时间类,其构造方法为: (1)Date() 使用当前的日期和时间初始化一个对象。 (2)Date(long millisec) 该构造方法带有一个参数,使用这个参数从1970年01月01日00时(格林威治时间)开始以毫秒计算时间。,8.3.2Calendar类,抽象类Calendar
7、提供了一组方法,允许把以毫秒为单位的时间转换成一些有用的时间组成部分。Calendar不能直接创建对象,但可以使用静态方法getInstance()获得代表当前日期的日历对象,如: Calendar calendar=Calendar.getInstance(); 该对象可以调用下面的方法将日历翻到指定的一个时间: void set(int year,int month,int date); void set(int year,int month,int date,int hour,int minute); void set(int year,int month,int date,int ho
8、ur,int minute,int second);,8.3.2Calendar类,若要调用有关年份、月份、小时、星期等信息,可以通过调用下面的方法实现: int get(int field); 其中,参数field的值由Calendar类的静态常量决定。其中:YEAR代表年,MONTH代表月,HOUR代表小时,MINUTE代表分,如: calendar.get(Calendar.MONTH); 如果返回值为0代表当前日历是一月份,如果返回1代表二月份,依此类推。,8.3.3GregorianCalendar类,GregorianCalendar是一个具体实现Calendar类的类,该类实现了
9、公历日历。Calendar类的getInstance()方法返回一个GregorianCalendar,它被初始化为默认的地域和时区下的当前日期和时间。,8.3.3GregorianCalendar类,GregorianCalendar类定义了两个字段:AD和BC,分别代表公元前和公元后。其默认的构造方法GregorianCalendar()以默认的地域和时区的当前日期和时间初始化对象,另外也可以指定地域和时区来建立一个GregorianCalendar对象,例如: GregorianCalendar(Locale locale); GregorianCalendar(TimeZone tim
10、eZone); GregorianCalendar(TimeZone timeZone,Locale locale); GregorianCalendar类提供了Calendar类中所有的抽象方法的实现,同时还提供了一些附加的方法,其中用来判断闰年的方法为: Boolean isLeapYear(int year); 如果year是闰年,该方法返回true,否则返回false。,8.4向量和哈希表,8.4.1向量及其应用,向量(Vector)是java.util包提供的一个工具类,该类实现了可扩展的对象数组。,8.4.1向量及其应用,向量和数组相似,都可以保存列表对象。但是数组只能保存固定大小
11、的列表,而向量却提供了一种类似于“动态数组”的功能,向量与数组的重要区别之一就是向量的容量是可变的。向量和数组分别适用于不同的场合,一般来说,下列场合更适合于使用向量: 如果需要频繁进行对象的插入和删除工作,或者因为需要处理的对象数目不定。 列表成员全部都是对象,或者可以方便的用对象表示。 需要很快确定列表内是否存在某一特定对象,并且希望很快了解到对象的存放位置。,需要注意的是,向量只能存储对象,不能直接存储简单数据类型,8.4.1向量及其应用,向量必须要先创建后使用,向量的大小是向量中元素的个数,向量的容量是被分配用来存储元素的内存大小,其大小总是大于向量的大小。下面是Vector的构造方法
12、: Vector(); Vector(int capacity); Vector(int capacity,int incr);,8.4.2哈希表及其应用,哈希表也称为散列表,是用来存储群体对象的集合类结构。 Java使用哈希表类(Hashtable)来实现哈希表,以下是与哈希表相关的一些概念: 容量(Capacity):Hashtable的容量不是固定的,随对象的加入其容量也可以自动增长。 关键字(Key):每个存储的对象都需要有一个关键字,key可以是对象本身,也可以是对象的一部分(如某个属性)。要求在一个Hashtable中的所有关键字都是唯一的。 哈希码(Hash Code):若要将对象存储到Hashtable上,就需要将其关键字key映射到一个整型数据,成为key的哈希码。 项(Item):Hashtable中的每一项都有两个域,分别是关键字域key和值域value(存储的对象)。Key和value都可以是任意的Object类型的对象,但不能为空。 装填因子(Load Factor):装填因子表示为哈希表的装满程度,其值等于元素数比上哈希表的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年鹤壁职业技术学院单招职业适应性测试备考试题及答案解析
- 2026年岳阳职业技术学院单招职业适应性考试备考试题及答案解析
- 期中考试总结
- 2026年黑龙江职业学院单招职业适应性考试备考试题及答案解析
- 2026年云南工贸职业技术学院单招职业适应性考试备考试题及答案解析
- 期中考试数学总结
- 2026年贵州工业职业技术学院单招职业适应性测试模拟试题及答案解析
- 2026年景德镇陶瓷职业技术学院单招职业适应性考试模拟试题及答案解析
- 2026年焦作师范高等专科学校单招职业适应性测试模拟试题及答案解析
- 2026年黑龙江幼儿师范高等专科学校单招职业适应性测试模拟试题及答案解析
- 城银清算服务有限责任公司2026年校园招聘16人备考题库附答案
- 大学数学建模竞赛(2025)获奖论文范例
- 2025年河南豫能控股股份有限公司及所管企业第二批社会招聘18人笔试历年参考题库附带答案详解
- 2025年《项目管理认证考试》知识考试题库及答案解析
- 安徽消防笔试题及答案
- 书籍借阅营销方案
- 生态冷鲜牛肉销售创业策划书范文
- 2025年高级煤矿综采安装拆除作业人员《理论知识》考试真题(含解析)
- 肉制品厂成本核算流程细则
- 纺织行业发展规划
- 余热发电厂安全培训内容课件
评论
0/150
提交评论