本教材的基础篇中全面、系统地介绍了Java语言程序设计的基础知识、基本语法、编程环境与方法,Java语言面向对象基础知识和面向对象高级程序设计,以及Java GUI程序设计、Java Applet程序设计、Java标准类库、集合操作。高级篇中介绍了Java语言的异常处理技术、多线程技术、输入输出技术、网络编程技术、JDBC与数据库访问技术和JavaBean组件技术等内容。
本教材基于Java SE 5.0编写,内容新颖,力求重点突出,层次清晰,通俗易懂,例题丰富,方便教学。本书各章备有习题和上机实验指导,以检验读者的学习情况,有助于读者掌握教材中的主要内容。
本教材可作为高等院校计算机科学与技术、网络工程、软件工程、电子信息工程、通信工程、信息安全和电子商务等专业的面向对象程序设计课程的教材使用,也可作为广大计算机爱好者自学Java语言的参考书。
Java语言程序设计的基础知识、基本语法、编程环境与方法,Java语言面向对象基础知识和面向对象高级程序设计,以及Java GUI程序设计等内容作了系统的介绍。该书可供各大专院校作为教材使用,也可供从事相关工作的人员作为参考用书使用。
Java是一种编程语言,它具有简单、高效、健壮、安全、与平台无关、可移植性好和多线程等特点,是一种纯面向对象的、网络编程首选的语言。Java支持从智能卡应用、手持式电子消费类产品应用、桌面应用到企业级应用。Java是一种技术,它蕴含着商机,是竞争力的保证。在当今网络时代,Java语言越来越受到人们的欢迎。
面向对象的Java语言诞生于1995年5月23日,经过十几年的发展已相当成熟,它具备“Write once,run anywhere”的能力,是服务提供商和系统集成商用以支持多种操作系统和硬件平台的首选解决方案。在网络计算遍及全球的今天,Java平台吸引了数百万开发者。Java技术作为软件开发的一种革命性技术,已被列为当今世界信息技术的主流之一。
目前,国内各高校计算机、电子信息和通信等理工科专业都开设了Java类课程,Java语言课程日趋普及,有的面向文科专业也开设了选修课。由于Java技术的发展日新月异,旧的教材已经不能满足教学的要求。随着网络与通信技术的飞速发展,Java SE、Java EE、Java ME日趋成熟,Java SE 5.0/6.0的推出进一步简化了程序的编写,提高了软件开发效率与质量,因此很有必要编写一本内容新颖全面,能反映Java新技术特性的教材,以指导学生的学习。
本教材由13章构成。第1章是Java语言概述,回顾了Java语言的发展历史,指出了Java语言的特点,分析了Java Application和Java.Applet程序结构及其简单程序设计,阐述了Java虚拟机的工作机理、JDK的下载安装和有关环境变量设置以及Java程序的编译、运行方法及其命令,介绍了Net Beans、Eclipse、JBuilder、JCreator、BlueJ等集成开发环境及其使用方法;第2章是Java语言基础,在介绍了Java的标识符、基本数据类型、运算符和表达式、程序流程控制语句等Java语言基础知识的基础上,进一步阐述了Java中一维数组和二维数组的声明、初始化及应用,最后介绍了Java中字符串处理的基本技术,包括常用字符串类String和String Buffer等的应用;第3章是Java语言面向对象基础,概要介绍了面向对象的基本思想和抽象、类、对象、封装、继承、多态、消息通信、接口、包等面向对象的基本概念,并以图例的方式简要介绍了UML的九种图和五种关系等基础知识,重点阐述了Java类的定义、对象的创建与清除,对比介绍了类变量和实例变量、类方法与实例方法的声明与使用,给出了类包的创建、引入与运行方法;第4章是Java语言面向对象高级程序设计,重点介绍了消息通信、访问控制、封装、继承、多态性、抽象类、抽象方法、接口、内部类、匿名类等面向对象的高级程序设计知识与技术,归纳总结了this、super、final、abstract、static等修饰符的特性与应用方法,概要介绍了模式的概念和Decorator、Faqade、Factory Method、Proxy等设计模式及其在接口中的应用;第5章是Java标准类库,介绍了基本数据类型的包装类的应用,iava 1ang包中的Object、System、Runtime和Math等类的应用,日期操作主要包括java util包中的Date、Calendar类和java text包中DateF ormat、Simple Date Format类的应用,java uul包中有关集合框架接口及其实现类的应用,Java泛型技术的应用;第6章是Java GUI程序设计,在介绍了AWT及其组件、布局管理器和事件处理机制的基础,翔实介绍了Swing的特性及其类层次结构,Swing程序的一般结构、布局管理器与事件处理,Swing常用容器组件和基本组件及其应用。
第一章 Java语言概述
1.1 Java语言的发展简史
1.2 Java语言的特点及优势
1.3 Java虚拟机
1.4 Java运行时环境与开发环境
1.4.1 JDK5.0的下载安装与环境变量设置
1.4.2 JDK5.0的帮助文件
1.4.3 JDK5.0的常用命令
1.5 简单Java程序设计
1.5.1 JavaApplication程序
1.5.2 JavaApplet程序
1.5.3 Servlet程序
1.5.4 JSP程序
1.5.5 JavaEE程序
1.6 Java集成开发环境
1.6.1 NetBeans
1.6.2 Eclipse
1.6.3 Jbuilder
1.6.4 Jcreator
1.6.5 BlueJ
1.6.6其他编辑工具
1.7 Java的编码规范
1.7.1 命名规范
1.7.2 注释规范
1.7.3 代码规范
习题一
实验一 Java开发环境与简单Java程序设计
第二章 Java语言基础
2.1 标识符
2.2 基本数据类型
2.2.1 数据类型
2.2.2 常量和变量
2.3 运算符与表达式
2.3.1 运算符及其分类
2.3.2 运算符的优先级
2.3.3 表达式
2.3.4 语句
2.4 程序流程控制
2.4.1 概述
2.4.2 分支语句
2.4.3 循环语句
2.4.4 跳转语句
2.5 数组
2.5.1 一维数组
2.5.2 二维数组
2.6 字符串类型
2.6.1 字符串常量
2.6.2 字符串声明及原始化
2.6.3 字符串处理
2.6.4 字符串与其他数据之间的转换
习题二
实验二 Java语言基础
第三章 Java语言面向对象基础
3.1 面向对象基础
3.1.1 面向对象的基本思想
3.1.2 面向对象的基本概念
3.1.3 面向对象的建模方法
3.2 UML基础这知识
3.2.1 UML简介
3.2.1 UML图
3.2.3 类间关系
3.3 类的定义
3.3.1 类首部
3.2.2 类体
3.2.3 应用实例
3.4 对象的创建与清除
3.4.1 构造方法
3.4.2 对象的创建与引用
3.4.3 对象复制
3.4.4 对象的清除
3.5 类变量和实例变量
3.5.1 类变量(static变量)
3.5.2 实例变量(非static变量)
3.6 类方法和实例方法
3.6.1 类方法(static变量)
3.6.2 实例方法(非static变量)
3.7 包(package)
3.7.1 package语句
3.7.2 import语句
3.7.3 编译与运行
3.7.4 JAR包的创建与运行
习题三
实验三 Java面向对象基础
第四章 Java语言面向对象高级程序设计
4.1 消息通信
4.1.1 消息的类型
4.1.2 消息的使用
4.2 访问控制
4.2.1 类的访问控制
4.2.2 类成员的访问控制
4.3 继承
4.3.1 创建子类
4.3.2 继承的传递性
4.3.3 子类对象的初始化
4.3.4 子类继承父类的规则
4.3.5 上转型与下转型对象
4.3.6 继承的使用方法
4.3.7 继承与组合区别
4.4 多态性
4.4.1 多态性的概念
4.4.2 方法重载
4.4.3 方法覆盖
4.4.4 变量覆盖
4.5 抽象类与抽象方法
4.5.1 抽象类
4.5.2 抽象方法
4.6 接口
4.6.1 接口的概念
4.6.2 接口的定义
4.6.3 接口的实现
4.6.4 接口与抽象类的比较
4.7 内部类与匿名类
4.7.1 内部类
4.7.2 匿名类
4.8 this、super和修饰符
4.8.1 this引用
4.8.2 super关键词
4.8.3 Java的修饰符
4.9 Java的设计模式
4.9.1 模式的概念
4.9.2 创建模式
4.9.3 结构模式
4.9.4 行为模式
4.9.5 设计模式在接口中的应用
习题四
实验四 Java面向对象高级程序设计
第五章 Java标准类库
5.1 Java.lang包
5.1.1 Object类
5.1.2 基本数据类型的包装类
5.1.3 System类
5.1.4 Runtime类
5.1.5 Math类
5.2 Java.util包
5.2.1 Date类
5.2.2 Calendar类
5.3 Java.text包
5.3.1 DateFormat类
5.3.2 SimpleDateFormat类
5.4 集合框架
5.4.1 Set接口与实现该接口的类
5.4.2 List接口与实现该接口的类
5.4.3 Map接口与实现该接口的类
5.4.4 Iterator接口和ListIterator接口
5.4.5 Collections类的算法应用
5.4.5 泛型
习题五
实验五 Java标准类库应用
第六章 JavaGUI程序设计
6.1 图形用户界面概述
6.2 AWT及其组件
6.2.1 Java.awt包
6.2.2 组件
6.2.3 容器
6.3 布局管理器
6.3.1 FlowLayout布局管理器
6.3.2 BorderLayout布局管理器
6.3.3 GridLayout布局管理器
6.3.4 CardLayout布局管理器
6.3.5 GridBagLayout布局管理器
6.4 事件处理
6.4.1 事件处理机制
6.4.2 AWT事件类与监听器接口
6.4.3 事件处理方式
6.5 Swing简介
6.5.1 Swing的特性
6.5.2 Swing类层次结构
6.6 基于Swing的应用程序设计
6.6.1 Swing应用程序的一般结构
6.6.2 设置R&F
6.6.3 布局管理器
6.6.4 事件处理
6.7 Swing常用组件
6.7.1 常用容器组件
6.7.2 常用基本组件
习题六
实验六 CUI编程技术
第七章 JavaApplet及其应用
7.1 Applet基础
7.1.1 Applet概述
7.1.2 Applet的运行原理
7.1.3 Applet的安全机制
7.1.4 Applet的生命周期
7.2 Applet类
7.3 Applet的应用
7.3.1 利用Applet显示图像
7.3.2 利用Applet播放声音
7.4 Applet鼠标与键盘事件处理
7.4.1 Applet鼠标事件处理
7.4.2 Applet键盘事件处理
习题七
实验七 JavaApplet应用
第八章 Java异常处理技术
8.1 异常与异常类
8.1.1 异常的概念
8.1.2 Java的异常类
8.2 Java异常处理机制
8.2.1 try-catch-finally语句
8.2.2 throws语句和throw语句
8.3 自定义异常类
8.3.1 定义异常类
8.3.2 自定义异常的抛出与处理
8.4 断言机制
8.4.1 断言的使用
8.4.2 启用和禁用断言
8.4.3 适当的使用断言
8.5 记录日志
习题八
实验八 Java异常处理技术
第九章 Java多线程技术
9.1 Java多线程
9.1.1 程序、进程与多线程
9.1.2 Java线程的状态与生命周期
9.1.3 Java线程的调度与优先级
9.2 用Thread的子类创建线程
9.3 用实现Runn接口方式创建线程
9.3.1 Runnable接口与目标对象
9.3.2 run()方法中的局部变量
9.3.3 在线程中启动其他线程
9.4 线程的常用方法
9.5 CUI线程
9.6 线程的同步
9.6.1 用同步方法实现线程同步
9.6.2 wait()等方法在线程同步中的应用
9.7 线程间的通信
9.7.1 管道的创建与使用
9.7.2 基于管道的线程通信
9.8 线程的死锁
9.9 线程的挂起、恢复与终止
9.10 计时器线程
9.11 线程的联合
9.12 守护线程
习题九
实验九 多线程编程技术
第十章 Java输入输出技术
10.1 流式输入/输出基础
10.1.1 流的概念
10.1.2 字节流和字符流
10.2 目录和文件操作
10.2.1 File类
10.2.2 随机访问文件
10.3 字节流类
10.3.1 文件输入/输出流
10.3.2 BufferedInputStream类和BufferedOutputStream类
10.3.3 标准流和扫描器
10.3.4 管道输入/输出流
10.4 字符流
10.4.1 字符流和字符流的转换
10.4.2 字符文件读写
10.4.3 BufferedReader类和BufferedWriter类
10.5 对象串行化
10.5.1 对象串行化概述
10.5.2 读写对象流
习题十
实验十 Java输入输出技术
第十一章 网络编程技术
11.1 网络通信基础
11.1.1 OSI/RM协议体系结构
11.1.2 TCP/IP协议体系系统
11.1.3 IP地址与端口号
11.1.4 Java中所涉及的网络应用类
11.2 基于HTTP的URL通信
11.2.1 URL简介
11.2.2 URL类
11.2.3 使用URL类实现单向通信
11.2.4 使用URLConnection类实现双向通信
11.2.5 简单网页浏览器的设计
11.3 基于TCP的Socket通信
11.3.1 Socket类与ServerSocket类
11.3.2 简单服务器程序
11.3.3 简单客户端程序
11.3.4 基于多线程的服务器程序
11.3.5 基于多线程的客户端程序
11.4 基于UDP的Datagram通信
11.4.1 Datagram套接字
11.4.2 简单Datagram接收程序
11.4.3 简单Datagram发送程序
11.5 基于UDP的组播通信
11.5.1 MulticastSocket类
11.5.2 组播发送程序
11.5.3 组播接收程序
11.6 基于RMI的分布式通信
11.6.1 基于对象的分布计算模型
11.6.2 RMI的体系结构与工作机制
11.6.3 RMI的安全机制及异常处理
11.6.4 基于RMI的分布应用实例
习题十一
实验十一 Java网络编程技术
第十二章 JDBC与数据库访问技术
12.1 关系数据库与SQL
12.1.1 关系数据库的基本概念
12.1.2 结构化查询语言(SQL)
12.2 JDBC的体系结构
12.2.1 JDBC的结构
12.2.2 JDBC的驱动程序
12.2.3 常用JDBCAPI
12.3 使用JDBC访问数据库
12.3.1 JDBC的连接技术
12.3.2 使用JDBC访问数据库的基本算法
12.4 JDBC的应用实例
12.4.1 创建数据库并配置ODBC数据源
12.4.2 创建数据表
12.4.3 插入记录
12.4.4 查询记录
12.4.5 更新纪录
12.4.6 删除记录
12.5 JDBC的高级应用
12.5.1 JDBC的事务操作
12.5.2 数据库存取优化
12.5.3 数据库批量操作
12.5.4 大数据对象存取
12.5.5 Java数据类型和SQL数据类型间的关系
12.5.6 JDBC4.0的新特性
习题十二
实验十二JDBC技术
第十三章 JavaBean组件技术
13.1 组件的概念
13.1.1 软件组件
13.1.2 软件组件模型
13.2 JavaBean的概述
13.3 JavaBean的结构
13.3.1 JavaBean的属性
13.3.2 JavaBean的方法
13.3.3 JavaBean的事件
13.3.4 JavaBean的设计规范
13.4 JavaBean的API
13.5 JavaBean的开发
13.5.1 JavaBean在JSP中的应用实例
13.5.2 JavaBean的可视化应用实例
习题十三
实验十三 JavaBean的组件技术