本书以培养读者掌握Java面向对象编程的基本能力为主旨,结合作者长期从事Java教学与培训的实践经验,以独有的章节安排与知识体系设计、先进的教学理念、深入浅出的教学风格,循序渐进地展开教学内容。
全书将Java最基本的编程精髓分解为15个章节和两个附录,划分为三大部分。第一部分包括前6章,围绕Java面向对象编程基础展开,内容包括Java程序结构与运行机理、JDK的配置与使用方法、Java基本语法、字符串与数组以及面向对象编程基础等。第7-10章为第二部分,主题为Java图形用户界面开发,内容包括AWT的GUI编程、Java的事件处理机制、Swing的GUI编程以及字符绘制与图形图像处理等。第11-15章为第三部分,内容包括Applet的应用开发、多线程、异常处理、网络编程以及输入输出流与文件操作等。
本书几乎每一章都由章节导读、英文缩略词、内容讲解与本章习题4个模块组成。可供各大专院校作为教材使用,也可供从事相关工作的人员作为参考用书使用。
本书摒弃东拼西凑的编书模式,最大限度地保持原创风格,以独有的知识体系、严密的内在逻辑、鲜活的示范案例以及深入的讲解剖析,将Java面向对象的本质和特征淋漓尽致地揭示给读者。本书大量采用表格、图示、UML分析等表达手段,将高度浓缩、条理清晰的知识线索呈现给读者,使其以最大的吸纳量、最高的效率,来获取最有价值的信息。
全书共分15章及两个附录,内容包括Java基础、面向对象编程、AWT与Swing编程、图形图像处理、Applet、多线程、网络编程以及文件操作等。
书中涉及的所有程序源码、图、表可从本书配套光盘中找到;也可登录清华大学出版社的官方网站,从该教材的支持网站上下载相关资源。
本书适合作为计算机和网络等相关专业的大、中专学生学习Java编程的教材,亦可作为相关研究人员及工程技术人员的参考书。
第1章 走马观花看Java
1.1 初识Java程序
1.1.1 Java程序的类型
1.1.2 简单的GUI应用程序
1.1.3 控制台应用程序
1.2 程序的设计规则
1.2.1 应用程序的结构
1.2.2 注释
1.2.3 Java程序的设计原则
1.3 进一步了解Java
1.3.1 Java演义
1.3.2 Java的优势
1.3.3 Java虚拟机
1.3.4 垃圾回收
本章习题
第2章 Java程序开发
2.1 Java开发工具概述
2.2 JDK的安装与配置
2.2.1 JDK的版本变迁
2.2.2 JDK的下载与安装
2.2.3 系统环境变量的设置
2.3 JDK常用命令
2.4 Java API
2.5 基于JDK的Java程序开发
2.5.1 Java程序开发步骤
2.5.2 Java应用程序开发
2.5.3 Applet小程序开发
本章习题
第3章 Java的基本语法——C++语言的克隆
3.1 Java语言符号集
3.1.1 Java的符号
3.1.2 Java标识符
3.1.3 Java关键字
3.1.4 Java运算符
3.1.5 Java分隔符
3.2 数据类型与类型转型
3.2.1 Java的数据类型
3.2.2 常量与变量
3.2.3 基本数据类型
3.2.4 基本数据类型的封装
3.2.5 数据类型转型的原则
3.3 运算符与表达式
3.3.1 算术运算符与算术表达式
3.3.2 关系运算符与关系表达式
3.3.3 逻辑运算符与逻辑表达式
3.3.4 位运算符与位表达式
3.3.5 赋值运算符与赋值表达式
3.3.6 条件运算符与条件表达式
3.3.7 运算符的优先级
3.4 程序的控制结构
3.4.1 顺序结构
3.4.2 分支结构
3.4.3 循环结构
3.4.4 进一步了解循环
3.4.5 跳转结构
本章习题
第4章 类与对象:构建Java程序的基石
4.1 面向对象程序设计
4.1.1 面向对象的基本概念
4.1.2 面向对象的特征
4.1.3 面向对象程序设计的优越性
4.2 类的描述
4.2.1 类的定义
4.2.2 属性声明
4.2.3 方法定义
4.2.4 构造方法
4.3 实例对象
4.3.1 对象的创建与初始化
4.3.2 对象的引用与使用
4.3.3 this关键字
4.3.4 get与set方法
4.4 Java修饰符
4.4.1 Java的修饰符
4.4.2 类的访问控制修饰符
4.4.3 类成员要素的访问控制修饰符
4.4.4 类的特征修饰符
4.4.5 成员变量的特征修饰符
4.4.6 成员方法的特征修饰符
4.5 static修饰符与静态成员要素
4.6 类的行为描述
4.6.1 类的成员方法
4.6.2 局部变量
4.6.3 方法的参数传递机制
4.6.4 方法的调用
4.6.5 递归方法的构建
本章习题
第5章 数组
5.1 一维数组
5.1.1 一维数组的声明
5.1.2 一维数组的初始化
5.1.3 一维数组的访问
5.1.4 字符数组与字符串对象
5.2 多维数组
5.2.1 多维数组的声明
5.2.2 多维数组的初始化
5.2.3 多维数组的访问
5.3 数组的应用
5.3.1 main方法的字符串数组参数
5.3.2 对象数组
5.3.3 数组作为方法的参数与方法的返回值
5.3.4 数组元素作为方法的参数
5.3.5 数组在排序中的应用
本章习题
第6章 Java面向对象的特征
6.1 Java的继承机制
6.1.1 继承的概念
6.1.2 继承的意义与特征
6.1.3 继承的实现
6.1.4 构造方法的继承
6.1.5 继承机制下成员要素的行为
6.1.6 最终类与最终成员要素
6.1.7 对象的类型转换
6.2 抽象类与抽象方法
6.2.1 类与方法的抽象
6.2.2 抽象类与抽象方法的应用
6.3 接口
6.3.1 接口的概念
6.3.2 接口的定义
6.3.3 接口的实现
6.3.4 接口类型与接口变量
6.3.5 接口、类与抽象类
6.4 多态
6.4.1 重要概念
6.4.2 方法重载
6.4.3 方法覆盖/重写
6.4.4 方法重载与方法覆盖的比较
6.5 包
6.5.1 包的概念
6.5.2 创建自定义包
6.5.3 引用包
6.5.4 Java类库
本章习题
第7章 AWT支持下的GUI编程
7.1 GUI与AWT
7.1.1 GUI与JFC
7.1.2 AWT与Swing
7.1.3 AWT的组件类
7.2 AWT的容器组件
7.2.1 容器组件概述
7.2.2 窗口容器组件Window
7.2.3 框架容器组件Frame
7.2.4 对话框容器组件Dialog
7.2.5 面板容器组件Panel
7.2.6 应用窗体的屏幕居中
7.3 AWT的非容器组件
7.3.1 非容器组件概述
7.3.2 标签组件Label
7.3.3 按钮组件Button
7.3.4 文本组件FextComponent
7.3.5 文本域组件TextField
7.3.6 文本区组件TextArea
7.3.7 复选框组件Checkbox与单选按钮组件RadioButton
7.3.8 选择框组件Choice
7.3.9 列表框组件List
7.3.10 滚动条组件ScrollBar
7.4 AWT容器的布局策略
7.4.1 布局管理器Layout Manager
7.4.2 边界布局BorderLayout
7.4.3 流式布局FlowLayout
7.4.4 网格布局GridLayout
7.4.5 卡片布局CardLayout
7.5 AWT的菜单系统
7.5.1 菜单系统概述
7.5.2 下拉式菜单系统的组件类及方法
7.5.3 建立下拉式菜单的步骤
7.5.4 弹出式菜单
本章习题
第8章 Java的事件处理机制
8.1 Java的事件处理
8.1.1 事件处理的引入
8.1.2 事件与事件驱动
8.1.3 Java的事件类
8.1.4 事件监听器接口类
8.1.5 事件适配器类
8.1.6 内部类与匿名类实现事件监听
8.2 委托事件模型
8.2.1 委托事件模型概述
8.2.2 为一个事件源注册多个监听器
8.3 常见事件
8.3.1 鼠标事件
8.3.2 键盘事件
8.3.3 其他常用事件
本章习题
第9章 Swing支持下的GUI编程
9.1 Swing
9.1.1 Swing概述
9.1.2 Swing与AWT
9.1.3 Swing的体系结构
9.1.4 Swing的组件类
9.2 Swing编程基础
9.2.1 框架窗体JFrame
9.2.2 抽象类JComponent
9.2.3 组件边框
9.2.4 Icon与Tooi tip
9.2.5 面板JPanel
9.3 Swing基本组件
9.3.1 标签几abel
9.3.2 通用按钮JButton与触发器按钮JToggleButton
9.3.3 单选按钮JRadioButton与复选框JCheckBox
9.3.4 文本域JTextField与文本区JTextArea
9.3.5 列表框JList
9.3.6 组合框JComboBox
9.3.7 滑杆JSlider与进度条JProgressBar
9.4 Swing的菜单系统与工具栏
9.4.1 Swing菜单系统设计
9.4.2 工具栏JToolBar设计
9.5 Swing的对话框设计
9.5.1 对话框JDialog
9.5.2 选项窗格对话框JOptionPane
9.6 Swing的高级组件
9.6.1 选项卡窗格JTabbedPane
9.6.2 表格JTable
9.6.3 树JTree
本章习题
第10章 文本显示与图形图像处理
10.1 Java绘图基础
10.1.1 Java的绘图机制
10.1.2 GUI组件的绘图方法
10.2 字体设置
10.2.1 Font类
10.2.2 FontMetrics类
10.3 Graphics绘图
10.3.1 Graphics类的绘图方法
10.3.2 基本图形绘制
10.3.3 画布Canvas
10.4 Java图像处理
10.4.1 静态图像处理
10.4.2 动画处理
本章习题
第11章 Java APPlet及其运行机制
11.1 Java Applet概述
11.1.1 Java Applet与Java Application
11.1.2 嵌入Applet程序的HTML文档
1.1.1.3 与Applet有关的HTML标签与属性
11.2 Applet的运行机制
11.2.1 Applet的生命周期
11.2.2 Applet的参数传递机制
本章习题
第12章 多线程
12.1 线程
12.1.1 线程的概念
12.1.2 线程与进程
12.2 线程的生命周期
12.2.1 线程的多阶段性
12.2.2 线程的五种状态
12.3 Java多线程的实现方式
12.3.1 继承Thread类
12.3.2 实现Runnable接口
12.4 线程的控制
12.4.1 线程的优先级
12.4.2 线程的同步机制
12.5 综合案例
本章习题
第13章 异常处理
13.1 异常
13.1.1 错误与异常
13.1.2 异常类
13.1.3 异常的类别
13.2 异常处理机制
13.2.1 捕获异常
13.2.2 抛出异常
13.2.3 创建自定义异常
13.2.4 异常处理的作用
本章习题
第14章 网络编程
14.1 网络基础知识
14.1.1 网络编程
14.1.2 TCP与UDP传输协议
14.2 URL
14.2.1 统一资源定位器URL
14.2.2 创建一个URL
14.2.3 解析URL
14.2.4 从URL读取WWW网络资源
14.2.5 通过URL Connection连接WWW
14.2.6 用Applet的方法访问网络资源
14.3 InetAddress类
14.3.1 创建InetAddress对象的方法
14.3.2 InetAddress类的其他方法
14.4 Socket
14.4.1 Socket通信
14.4.2 创建Socket
14.5 UDP Socket
14.5.1 Java的网络功能
14.5.2 DatagramSocket与DatagramPacket
14.5.3 DatagramSocket类
14.5.4 UDP Socket开发流程类
14.6 综合案例
本章习题
第15章 输入输出流与文件操作
15.1 输入输出流的分类
15.1.1 Java流的概念
15.1.2 标准输入输出
15.2 目录和文件管理
15.2.1 File类
15.2.2 File类的应用举例
15.3 字节流
15.3.1 顺序读/写文件类
15.3.2 ByteArrayInputStream类和ByteArrayOutputStream类
15.3.3 缓冲区流BufferedlnputStream类和BufferedOutputStream类
15.4 字符流
15.4.1 Reader和Writer
15.4.2 InputStreamReader和OutputStreamWriter
15.4.3 FileReader
15.4.4 FileWriter
15.4.5 BufferedReader和BufferedWriter
15.4.6 CharArrayReader和CharArrayWriter
15.5 文件的随机访问
15.6 其他常用的流
15.6.1 管道流
15.6.2 ZIP文件流
15.6.3 DatalnputStream和DataOutputStream
15.6.4 对象流
15.7 综合案例
本章习题
附录A JCreator使用指南
附录B 各章习题参考答案