收藏 分享(赏)

第4讲语言基础类902402626PPT课件.ppt

上传人:微传9988 文档编号:3476657 上传时间:2018-11-03 格式:PPT 页数:30 大小:153KB
下载 相关 举报
第4讲语言基础类902402626PPT课件.ppt_第1页
第1页 / 共30页
第4讲语言基础类902402626PPT课件.ppt_第2页
第2页 / 共30页
第4讲语言基础类902402626PPT课件.ppt_第3页
第3页 / 共30页
第4讲语言基础类902402626PPT课件.ppt_第4页
第4页 / 共30页
第4讲语言基础类902402626PPT课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、Java语言程序设计,语言基础类,3,Java类库,Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。 这些系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合是一个包,合称为类库。 Java的类库大部分是由它的发明者SUN公司提供的,这些类库称为基础类库(JFC)。 API 应用程序编程接口 面向过程语言 函数库(子程序包) 面向对象语言 类库,4,Java类库,类库的结构 java.lang 语言基础类库(System、Math、 Thread、基本

2、数据类型类) java.util Java的工具类库(向量、栈、日期) java.io Java的标准输入输出类库 java.applet 用于实现Java Applet小程序的类库 java.awt 用于构建图形用户界面的类库 java.awt.event 界面用户交互控制和事件响应类库 Java的用于实现网络功能的类库 使用JDK Document查看类库,5,语言基础类库-Object类,Java程序中所有类的直接或间接父类,也是类库中所有类的的父类,所有的其他类都是从Object类派生。 构造方法:Object( ) 一般方法: Object clone( ) 生成当前对象的一个拷贝

3、。 boolean equals(Object obj) 比较两个对象是否相同。 Class getClass() 获取当前对象所属的类信息。 String toString() 用来返回当前对象本身的有关信息。,6,语言基础类库-Class类,Java运行时系统会对所有的对象进行类型识别 public final Class extends Object一般方法: String getName() 返回类名。 Field getFields() 返回类的public域对象。 Method getMethods() 返回类的public方法对象。 Package getPackage() 返回

4、该类的包。 Field 类 String getName() 取域名 Method 类 String getName() 取方法名 Package 类 String getName(),2,7,语言基础类库:数据类型类,基本数据类型 vs. 数据类型类 boolean vs Boolean, char vs Character等 数据类型类 规定了数据类型的最大值、最小值 构造方法:如new Integer(10); 完成不同数据类型间转换,注意不同的数据类型类使用的方法会有不同。 Double.toString(0.08)、Integer.parseInt(“123”)、 Double.Va

5、lueOf(“0.08”).intValue ()等(见JDK Doc),8,语言基础类库: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);,9,数学运算的Math类,属性 public final static double E; / 数学常量e public final stat

6、ic double PI; / 圆周率常量 方法(均为静态方法)public static int abs(int i); public static double sin(double a); public static double log(double a); public static double max(double a, double b); public static double pow(double a, double b); public static double random(); / 产生01之间伪随机数,10,数学运算的Math类,public static do

7、uble exp(double a); public static int round(float a); public static double sqrt(double a); 例: System.out.println(Math.E); 2.718281828 System.out.println(Math.PI); 3.14159265 System.out.println(Math.pow( 2,3); 8.0 System.out.println(Math.round(99.6); 100 System.out.println(Math.abs(- 8.09); 8.09,1,11

8、,语言基础类库:System类,System是一个功能强大的类,它提供了标准输入输出、运行时的系统信息等工具 系统功能类 获取系统标准输入/输出 System.in,System.out,System.err 获取系统信息 System.currentTimeMillis( ) 执行系统操作 System.exit(0); System.gc( );,12,System类,属性 public static InputStream in public static PrintStream out public static PrintStream err 获取系统信息、完成系统操作的方法 pub

9、lic static long currentTimeMillis(); 获取自1970年1月1日零时至当前系统时刻的毫秒数972370687290 public static void exit(int status);强制Java虚拟机退出运行状态,并把状态信息status 返回给运行虚拟机的操作系统。 System .exit(0); public static void gc();强制调用Java虚拟机的垃圾回收功能。,13,向量类-Vector,java.util.Vector Vector是一组对象的集合, Vector可以追加对象元素的数量,方便地修改和维护序列中的对象。 适合于

10、如下的情况 需要处理的对象数目不定 序列中元素都是对象,而不是基本数据类型的量 需要做频繁的元素插入和删除 需要定位序列中的对象或其他查找操作 0 1 2 3,14,创建向量类对象,创建向量类的对象 Vector myVector = new Vector(); 创建空的向量对象(初始容量为10) 优化存储管理 Vector myVector = new Vector(100); 创建空的向量对象(初始容量为100) Vector myVector = new Vector(100,50); 创建空的向量对象(初始容量为100,增量为50),15,向量元素操作,追加元素addElement(O

11、bject obj) 插入元素insertElement(Object obj, int index) 修改向量中的元素setElementAt(Object obj, int index) 删除向量中的指定元素removeElementAt (int index)Boolean removeElement(Object obj)removeAllElements(),16,向量元素操作,取出向量中的指定元素Object get(int index) 测试对象在向量中是否存在boolean contains(Object obj) 查找指定元素的位置int indexOf(Object obj

12、)int indexOf(Object obj , int start_index),17,向量元素操作,返回指定位置的元素Object elementAt(int index)由于返回的是Object类型的对象,在使用前要进行强制类型转换,将返回的对象引用转换成Object类的某个具体子类的对象。String str=(String)MyVector.elementAt(0); 返回一个包含向量中所有元素的对象数组Object toArray( ),18,获取向量信息,清空向量(删除所有元素)clear() 测试向量是否为空boolean isEmpty() 当前向量元素数量int size

13、() 向量当前容量int capacity(),4,19,例:CatsAndDogs.java public class CatsAndDogs public static void main(String args) Vector cats = new Vector();for(int i = 0; i 7; i+)cats.addElement(new Cat(i);/ Not a problem to add a dog to cats:cats.addElement(new Dog(7);for(int i = 0; i cats.size(); i+)(Cat)cats.elemen

14、tAt(i).print();/ Dog is detected only at run-time/改为:if (cats.elementAt(i) instanceof Cat)缺点:Object的类型不确定;对象的类型不匹配只能在运行期才能被检测出来,20,工具类库:日期,Calendar(表示日期和时间) getInstance( ):得到表示当前时间的实例 get(int):获取相应信息 如:get(Calendar.YEAR) set(int,int):如:set(Calendar.YEAR,1999) set(year,month,date):set用来设置信息 Calendar.

15、getTime():得到当前时间的Date对象 GregorianCalendar 有不同的构造方法,用来创建实例。如:GregorianCalender(year,month,date,),21,日期类Calendar,抽象类,在Date对象和一组整数域之间进行转换: YEAR, MONTH, DAY, HOUR, Calendar c = Calendar.getInstance(); int c.get(Calendar.YEAR)int c.get(Calendar.MONTH) ( 1月为0)int c.get(Calendar.DATE)int c.get(Calendar.HOU

16、R)int c.get(Calendar.MINUTE)int c.get(Calendar.SECOND)Date c.getTime(),22,日期类Calendar,c.set(Calendar.YEAR,2000) c.set(Calendar.MONTH,10) ( 11月) c.set(Calendar.DATE,7) c.set(2000,10,7) c.set(2000,10,7,17,48,20),23,日期类Date,构造方法Date() 初始化时间对象 方法long getTime() 获取自1970.1.1零时至当前系统时刻的毫秒数 其他若干方法int getDate(

17、) 获取系统当前日期,5,24,示例-银行帐户,25,工具类库:栈,java.util.Stack(常用的线性数据结构) 栈底:固定的一端 栈顶:数据元素进出的一端 遵循:“后进先出”原则 常用的堆栈操作 创建堆栈:Stack() 压栈操作:push(Object) 弹栈操作:pop(),26,堆栈Stack,是Vector的子类 构造方法 Stack() 建立一个新的栈 方法boolean empty() 测试栈是否空Object peek() 查看栈顶元素Object pop() 弹栈(出栈)Object push(Object item) 压栈(进栈)int search(Object item) 查找栈中元素,返回距栈顶位置(栈顶位置为1),27,堆栈例-表达式计算,#,2,*,(,3,+,5,8,16,-,4,12,操作数栈 s1 操作符栈 s2,28,堆栈例-表达式计算,栈顶运算符 表达式当前运算符,7,29,小结,本章内容 Java类库 基础类 向量类 日期类 堆栈 复习要求 熟悉Java类库的功能 掌握基础类、向量类、日期类及堆栈的使用,30,课下练习,设一个班有10名学生,每个学生有姓名、学号、成绩等信息,请利用向量的概念编程,求平均成绩。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 教育范文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报