Java高级程序设计
Java高 级 程序 设计
? 第一部分
– 第一章 Java入门基础
– 第二章 异常
– 第三章 Java Applet类型
– 第四章 图形用户界面 GUI(一) ——AWT
– 第五章 Java中的事件处理机制
– 第六章 图形用户界面 GUI(二) ——Swing
Java高 级 程序 设计
– 第七章 多线程
– 第八章 I/O输入输出流
– 第九章 Java数据库连接( JDBC)
– 第十章 Java网络编程
? 第二部分
– 第一章 Java API
– 第二章 Java与多媒体
– 第三章 Java Bean基础
Java高级程序设计 Java API
第一章 Java API
? 1.1理解 API的概念
– 1.1.1 Java API包
? 1.2 数据类型类
– 1.2.1 java,lang包概述
– 1.2.2 Number及其子类
? 1.3 数学运算工具
– 1.3.1 Math类的方法
? 1.4 字符串处理
– 1.4.1 java,lang,String
– 1.4.2 java,lang,StringBuffer
Java高级程序设计 Java API
第一章 Java API
? 1.5 java,lang包
– 2.5.1 java,lang,Object
– 2.5.2 java,lang,Class
– 2.5.3 java,lang,System
– 2.5.4 java,lang,Runtime与 java,lang,Process
– 2.5.5 java,lang,Package
Java高级程序设计 Java API
第一章 Java API
? 1.6 java,util包
– 2.5.1 Collection接口
– 2.5.2 java,util,Random
– 2.5.3 java,util,Date
– 2.5.4 java,util,Calendar
– 2.5.5 java,util,StringTokenizer
Java高级程序设计 Java API
1.1 Java API包
? Java API包,
– Java包含了许多预定义的类,是一组由其他开发人员或软件
供应商编写好的 Java程序模块,每一个模块通常对应一种特
定的基本功能和任务。
– 这些系统定义好的类根据实现的功能不同,可以划分成不同
的集合,每个集合是一个包,合称为 类库 。
– Java的类库是系统提供的已实现的标准类的集合,统称为
Java应用程序编程接口,即 Java API 。
Java高级程序设计 Java API
1.1 Java API包
? Java API包,
– Java语言由语法规则和类库两部分组成。语法规则确定 Java
程序的书写规范;类库,或称为运行时库,则提供了 Java程
序与运行它的系统软件( Java虚拟机)之间的接口。
– Java的类库大部分是由它的发明者 SUN公司提供的。这些类
库称为基础类库( JFC),也有少量则是由其他软件开发商
以商品形式提供的。
Java高级程序设计 Java API
1.1 Java API包
? Java API包,
– 根据功能的不同,Java的类库被划分为若干个不同的包,每
个包中都有若干个具有特定功能和相互关系的类和接口。
– 包括了具有复杂图形、高级图形用户接口、打印、高级网络
安全、数据库处理、多媒体等多种功能的包。
? 例如,java,lang 包,java,util 包,java.awt 包,java,net 包,java,
sql 包,java,applet 包,java,io 包等等。
Java高级程序设计 Java API
1.1 Java API包
? 使用类库中系统定义好的类有三种方式:
– 一种是继承系统类,在用户程序里创建系统类的子类
? 例如:每个 Java Applet的主类都是 java,applet包中的 Applet类的子类
– 另一种方法是创建系统类的对象
? 例如:图形界面的程序中要接受用户的输入时,就可以创建一个系统
类 TextField类的对象来完成这个任务。
– 最后一种方法是直接使用系统类
? 例如:在字符界面向系统标准输出字符串时使用的方法 System,out,
println(),就是系统类 System的静态属性 out的方法。
Java高级程序设计 Java API
1.2 数据类型类
? java,lang包概述,
Java高级程序设计 Java API
1.2 数据类型类
? Number及其子类,
Java高级程序设计 Java API
1.2 数据类型类
? Double类,
– 双精度( Double)构造方法如下:
Double(double num)
Double(String str) 引发 NumberFormatException异常
– 双精度对象可以被双精度值或包含了浮点值的字符串创建。
– 其他数据类型类中的方法与作用与 Double类中的方法相近。
– Double类型中的常量,
? MAX_VALUE, MIN_VALUE, NaN, POSITIVE_INFINITY,
NEGATIVE_INFINITY, TYPE
Java高级程序设计 Java API
1.2 数据类型类
? Double类,
– Double类提供了 isInfinite( )和 isNaN( )方法, 用于检验由
IEEE浮点规范定义的独特的值:无穷和 NaN( 非具体数字 ) 。
– 程序设计中一个最常见的任务是将一个数字的字符串表达式
转换成内部的二进制格式 。 如将字符串, 12345.879‖转化为
Double类型数据, 我们可以使用下面两种方式:
double n = Double.parseDouble(―12345.879‖);
double n = Double.valueof(―12345.879‖).doubleValue();
Java高级程序设计 Java API
1.2 数据类型类
? 数据类型类:
– Byte,Short,Integer和 Long类分别都提供了 parseByte( ),
parseShort( ),parseInt( )和 parseLong( )方法。这些方法返
回与调用它们的数值字符串相应的 byte,short,int和 long值。
Java高级程序设计 Java API
1.3 数学运算工具
? Math类的方法,
Java高级程序设计 Java API
1.4 字符串处理
? 字符串
– 字符串是编程中经常使用到的数据结构, 它是字符的序列 。
在有些语言中, 它是用字符数组来实现的, 在 Java语言中,
它是用类的对象来实现的 。
– 字符串可以分为两大类, 一类 ( String) 是创建之后不会再
做修改和变动的字符串的常量 。
– 另一类 ( StringBuffer) 是创建之后允许再做更改和变化的字
符串变量 。
– String类和 StringBuffer类都在 java,lang中定义, 因此它们可
以自动的被所有程序使用 。 两者均被说明为 final,即两者均
不含子类 。
Java高级程序设计 Java API
1.4 字符串处理
? java,lang,String
– String类几种构造方法,
? 默认构造方法,即创建空 String的构造方法:
? String s = new String( )
? 使用如下的构造方法可以创建一个被字符数组初始化的字符串。
? String ( char chars[ ] )
? 使用下面的构造方法可以指定字符数组的一个子区域作为初始化值。
? String ( char chars[ ],int startIndex,int numChars )
? 用下面的构造方法可以用 String对象来构造一个 String对象。
? String ( String strObj )
Java高级程序设计 Java API
1.4 字符串处理
? String类的常用方法:
Java高级程序设计 Java API
1.4 字符串处理
? java,lang,StringBuffer
– StringBuffer类几种构造方法,
? StringBuffer( )
? 默认构造方法(无参数)预留 16个字符的空间。该空间不需再分配。
? StringBuffer(int size)
? 第二种形式接收一个整数参数,清楚地设置缓冲区的大小。
? StringBuffer(String str)
? 第三种形式接收一个字符串参数,设置 StringBuffer对象的初始内容,
同时不进行再分配地多预留了 16个字符的空间。
Java高级程序设计 Java API
1.4 字符串处理
? StringBuffer类的常用方法:
– StringBuffer类提供了一些 String类没有涉及的方法,主要用于
完成对变长字符串进行添加、修改、删除的功能。
– StringBuffer对象通过调用 length( )方法可以得到当前长度。而
通过调用 capacity( )方法可以得到总的分配容量。
– 使用 setLength( )方法在 StringBuffer对象内设置缓冲区的大小,
其一般形式如下,void setLength(int len) 这里 len指定了缓
冲区的长度,这个值必须是非负的。
Java高级程序设计 Java API
1.5 java,lang包
? java,lang,Object
Java高级程序设计 Java API
1.5 java,lang包
? java,lang,Class
Java高级程序设计 Java API
1.5 java,lang包
? java,lang,System
Java高级程序设计 Java API
1.5 java,lang包
? java,lang,Runtime与 java,lang,Process
– 抽象类 Process封装了一个进程,是一个正在执行的程序。
它主要被当作由 Runtime类中的 exec( )方法所创建的对象的
类型的超类。
– Runtime类封装了运行时环境。一般不实例化一个 Runtime
对象,但是可以通过调用静态方法 Runtime.getRuntime( )而
获得对当前 Runtime对象的引用。一旦获得了对当前对象的
引用,就可以调用几个控制 Java虚拟机的状态和行为的方法。
– 在每一个 Java应用程序里面,都有惟一的一个 Runtime对象。
通过这个 Runtime对象,应用程序可以与其运行环境发生相
互作用。
Java高级程序设计 Java API
1.5 java,lang包
? java,lang,Package
Java高级程序设计 Java API
1.6 java,util包
? Collection接口
– util 包中包含各种与数据结构相关的类,包含各种与时间、
日期相关的类。
– Collection接口是一个数据集合接口,它位于与数据结构有
关的 API的最上部。构成 Collection的单位,我们称之为元素。
– Collection接口提供了添加、删除元素等管理数据的功能。
根据数据管理方法的不同,可将 Collection接口分为 Set、
List,Map三种接口。
Java高级程序设计 Java API
1.6 java,util包
? java,util,Random
– Math类的 random( )方法也可以产生随机数,但只能够产生
0.0~1.0之间的随机数。我们只能通过将乘法运算符、强制
类型转换和方法 random结合起来使用。
– Random类是伪随机数的产生器,Random定义了下面的构
造方法:
? Random( ) 创建一个初值的数字发生器
? Random(long seed) 允许指定一个初值
Java高级程序设计 Java API
1.6 java,util包
? java,util,Random
Java高级程序设计 Java API
1.6 java,util包
? java,util,Date
– Date类封装当前日期和时间,Date支持下面的构造方法:
? Date( )
? Date(long millisec)
? 第一种形式的构造方法用当前日期和时间初始化对象。
? 第二种形式的构造方法接收一个参数,该参数等于从
1970年 1月 1日午夜起至今的毫秒数的大小。
Java高级程序设计 Java API
1.6 java,util包
? java,util,Date
Java高级程序设计 Java API
1.6 java,util包
? java,util,Calendar
– Date不允许单独获得日期或时间分量。 Java类库为完善此
功能,定义了抽象 Calendar类。
– Calendar类提供了一组方法,这些方法允许将以毫秒为单位
的时间转换为一组有用的分量。一些可以提供信息的类型是:
年,月,日,小时,分和秒。
– Calendar的子类能提供特定的功能,以便按照它们本身的规
则去解释时间信息。
Java高级程序设计 Java API
1.6 java,util包
? java,util,Calendar
Java高级程序设计 Java API
1.6 java,util包
? java,util,StringTokenizer
– 有时我们需要分析字符串并将字符串分解成可被独立使用的
单词。这时可以使用 java.util包中的 StringTokenizer类。
– 使用 StringTokenizer时,指定一个输入字符串和一个包含了
分割符的字符串。分割符是分割标记的字符,如空格符、换
行符、回车符,Tab符等等。
– StringTokenizer的构造方法如下所示:
? StringTokenizer ( String str )
? StringTokenizer ( String str,String delimiters )
Java高级程序设计 Java API
1.6 java,util包
? java,util,StringTokenizer
Java高级程序设计 Java API
小结
? 掌握:
– Java API中的常用的数学方法、
– 字符串处理方法
? 理解:
– java,lang包中的系统类
? 了解:
– java,util包中的实用工具集