Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章

上传人:E**** 文档编号:89346694 上传时间:2019-05-23 格式:PPT 页数:29 大小:1.27MB
返回 下载 相关 举报
Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章_第1页
第1页 / 共29页
Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章_第2页
第2页 / 共29页
Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章_第3页
第3页 / 共29页
Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章_第4页
第4页 / 共29页
Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章》由会员分享,可在线阅读,更多相关《Java程序案例教程 教学课件 ppt 作者 高职 田智 第6-13章_ 第11章(29页珍藏版)》请在金锄头文库上搜索。

1、第11章 Java常用类库,11.1 API概念 11.2 String类和StringBuffer类 11.3 基本数据类型的包装类 11.4 System类与Runtime类 11.5 Date与Calendar、DateFormat类 11.6 Math与Random类,11.1 API 概 念 API(Application Programming Interface)就是应用程序编程接口。假设现在要编写一个机器人程序去控制一个机器人踢足球,程序需要向机器人发出向前跑、向后转、射门、拦截等命令。没有编过程序的人很难想象如何编写这样的程序,但对于有经验的人来说,就知道机器人厂商一定会提供

2、一些控制这些机器人的Java类,该类中就有操纵机器人的各种动作的方法,只需要为每个机器人安排一个该类的实例对象,再调用这个对象的各种方法,机器人就会去执行各种动作。这个Java类就是机器人厂家提供的应用程序编程的接口,厂家将这些Java类命名为Xxx Robot API(也就是Xxx厂,家的机器人API)。好的机器人厂家不仅会提供Java程序用的Robot API,也会提供Windows编程语言(如VC+)用的Robot API,以满足各类编程人员的需要。 在Windows编程时,经常提到的Windows API其实也就是Windows操作系统提供的编写Windows程序的一些函数,如Crea

3、teWindow就是一个API函数,在应用程序中调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口。在Java中经常提到的API就是JDK中提供各种功能的Java类。,11.2 String类和StringBuffer类 一个字符串就是一连串的字符,字符串的处理在许多程序中都用得到。Java定义了String和StringBuffer两个类来封装对字符串的各种操作。它们都被放到了java.lang包中,不需要用import java.lang这个语句导入该包就可以直接使用。String类用于两个字符串的比较、串中字符或子串的查找和抽取、字符串与其他类型之间的相互转换等。Str

4、ing类对象的内容一旦被初始化就不能再改变。StringBuffer类用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以转置字符串中原来的内容。一旦通过StringBuffer生成了最终想要的字符串,就应该使用String,Buffer.toString方法将其转换成String类,随后就可以使用String类的各种方法操纵这个字符串了。 Java为字符串提供了特别的连接操作符( + ),可以把其他各种类型的数据转换成字符串,并前后连接成新的字符串。连接操作符( + )的功能是通过StringBuffer类和它的append方法实现的。例如: String x =

5、“a“ + 4 + “c“; 编译时等效于 String x=new StringBuffer().append(“a“).append(4).append (“c“).toString(); 在实际开发中,如果需要频繁改变字符串的内容就需要考虑用StringBuffer类实现,因为其内容可以改变,所以执行性能会比 String 类更高。,11.3 基本数据类型的包装类 Java既提供了基本数据的简单类型,也提供了相应的包装类(也叫包装类)。使用基本数据类型可以改善系统的性能,也能够满足大多数应用需求。但基本数据类型不具有对象的特性,不能满足某些特殊的需求。从JDK中可以知道,Java中很多类

6、的很多方法的参数类型都是Object,即这些方法接收的参数都是对象,同时又需要用这些方法来处理基本数据类型的数据,这时就要用到包装类。比如,用Integer类来包装整数。 Java中的基本数据类型共有八种,那么与之相对应的基本数据类型包装类也同样有八种,表11-1列出了其对应关系。,表 11-1 基本数据类型包装类与基本数据类型的对应关系,输出结果: 124 程序说明: 本程序使用Integer类中的parseInt()方法将一字符串转换成基本数据类型。,11.4 System类与Runtime类 11.4.1 System类 Java不支持全局函数和变量。Java设计者将一些与系统相关的重要

7、函数和变量收集到了一个统一的类中,这就是System类。System类中的所有成员都是静态的,引用这些变量和方法时,可直接使用System类名作前缀。在前面已经使用到了标准输入和输出的in和out变量。下面介绍System类中的几个方法,关于其他方法可参看JDK文档资料。 (1) exit(int status)方法用于提前终止虚拟机的运行。对于发生了异常情况而想终止虚拟机运行的情况,可传递一个非零值作为参数。若在用户正常操作下要终止虚拟机的运行,可传递零值作为参数。,(2) CurrentTimeMillis方法返回从1970年1月1日0点0分0秒起至今的以毫秒为单位的时间,这是一个long

8、类型的大数值。在计算机内部,只有数值,没有真正的日期类型及其他类型。也就是说,平常用到的日期本质上就是一个数值,但通过这个数值能够推算出其对应的具体日期时间。 (3) getProperties方法与getProperties方法用于获得当前虚拟机的环境属性。Properties是Hashtable的子类,正好可以用于存储环境属性中的多个变量/值格式的数据,getProperties方法的返回值是包含了当前虚拟机的所有环境属性的Properties类型的对象。 下例打印出当前虚拟机的所有环境属性的变量和值。 【例11-2】 SystemInfo.java。,图11-1 SystemInfo.j

9、ava 程序的输出结果,在Windows中,增加一个新的环境属性是很容易的,但如何为Java虚拟机增加一个新的环境属性呢?在命令行窗口中直接运行Java命令,在显示的用法帮助中会看到Java命令有一个 -D= 格式的选项可以设置新的系统环境属性。按下面的格式运行: java -DAuthor=lxh SystemInfo 运行后如图11-2所示。 可以看到,输出的结果中多了一行“Author = lxh”,即Java虚拟机中多了一个新的环境属性Author。,图11-2 运行结果,11.4.2 Runtime 类 Runtime类封装了Java命令本身的运行进程,其中的许多方法与System中

10、的方法重复。不能直接创建Runtime实例,但可以通过静态方法Runtime.getRuntime获得正在运行的Runtime对象的引用。Java命令本身是多任务操作系统上的一个进程,在这个进程中启动一个新的进程,即执行其他程序时使用exec方法。exec方法返回一个代表子进程的Process类对象,通过这个对象,Java进程可以与子进程交互。 【例11-3】 RuntimeDemo.java。,11.5 Date与Calendar、DateFormat类 Date类用于表示日期和时间,最简单的构造函数是Date(),它以当前的日期和时间初始化一个Date对象。由于开始设计Date时没有考虑到

11、国际化,所以后来又设计了两个新的类来解决Date类中的问题,一个是Calendar类,另一个是DateFormat类。Calendar类是一个抽象基类,主要完成日期字段之间相互操作的功能,如Calendar.add方法可以实现在某一日期的基础上增加若干天(或年、月、小时、分、秒等日期字段),Calendar.get方法可以取出日期对象中的年、月、日、小时、分、秒等日期字段的值,Calendar.set方法修改日期对象中的年、月、日、小时、分、秒等日期字段的,值,Calendar.getInstance方法可以返回一个Calendar类型(更确切地说是它的某个子类)的对象实例,Gregorian

12、Calendar类是JDK目前提供的唯一的Calendar子类,Calendar.getInstance方法返回的就是预设了当前时间的GregorianCalendar类对象。 下例计算出距当前日期时间230天后的日期时间,并用“xxxx年xx月xx日xx小时:xx分:xx秒”的格式输出。 【例11-4】 CalendarDemo.java。,虽然Calendar类几乎完全替代了Date类,但在某些情况下,开发者仍有可能要用到Date类。譬如,程序中用的另外一个类的方法要求一个Date类型的参数,有时要将用Date对象表示的日期以指定的格式输出或是将用特定格式显示的日期字符串转换成一个Date

13、对象,而Java.text.DateFormat就是实现这种功能的抽象基类。java.text.SimpleDateFormat类是JDK目前提供的一个DateFormat子类,它是一个具体类,具有把Date对象格式化为本地字符串,或者通过语义分析把日期或时间字符串转换为Date对象的功能。 下例将“2005-8-11 18:30:38”格式的日期字符串转换成“2005年08月11日06点30分38秒”的形式。 【例11-5】 DateFormatDemo.java。,SimpleDateFormat类相当于一个模板,其中yyyy对应的是年,MM对应的是月,dd对应的是日。更详细的细节可查阅J

14、DK文档,关于这些参数,JDK中写得非常清楚。在上面的程序中,定义了一个SimpleDateFormat类的对象sp1来接收和转换源格式字符串“2005-8-11 18:30:38”,随后又定义了该类的另一个对象sp2来接收sp1转换成的Date类的对象,并按sp2所定义的格式转换成字符串。 在这个过程中,已经实现了利用SimpleDateFormat类把一个字符串转换成Date类对象及把一个Date对象按用户指定的格式输出这两个功能。,11.6 Math与Random类 Math类包含了所有用于几何和三角的浮点运算函数,这些函数都是静态的,每个方法的使用都非常简单。 Random类是一个随机数产生器。随机数是按照某种算法产生的,一旦用一个初值创建Random对象,就可以得到一系列随机数,但如果用相同的初值创建Random对象,则得到的随机数序列是相同的。也就是说,在程序中看到的“随机数”是固定的那些数,起不到“随机”的作用。针对这个问题,Java设计者们在Random类的Random()构造方法中使用当前的时间来初始化Random对象,因为没有任何时刻的时间是相同的,所以就可以减少随机数序列相同的可能性。,下面的程序利用Random类产生5个0100之间的随机整数。 【例11-6】 RandomDemo.java。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号