第一章 打开Java之门 1
1.1 Java语言简介 1
1.1.1 Java语言产生的背景 1
1.1.2 Java的工作原理 2
1.1.3 Java语言的特点 3
1.1.4 Java与C及C++的比较 4
1.1.5 Java语言的应用前景 6
1.1.6 Java语言新进展 6
1.2.1 Java语言开发平台 7
1.2 建立Java语言开发与运行环境 7
1.2.2 建立Java语言开发与运行环境 8
1.3 第一个Java程序——Hello World 11
1.4 总结与提高 13
习题 14
第二章 Java语法基础 15
2.1 Java语言的基本组成 15
2.1.1 标识符 15
2.1.2 关键字 16
2.1.3 分隔符 16
2.2.2 常量和变量 17
2.2 数据类型 17
2.2.1 基本数据类型 17
2.3 运算符 20
2.3.1 算术运算符 21
2.3.2 关系运算符 21
2.3.3 逻辑运算符 22
2.3.4 位运算符 23
2.3.5 条件运算符 24
2.3.6 赋值运算符 24
2.4.1 类型转换 25
2.4 表达式 25
2.3.7 字符串连接运算符 25
2.4.2 运算符的优先级 26
2.5 控制语句 27
2.5.1 分支语句 27
2.5.2 循环语句 33
2.5.3 跳转语句 37
2.6 总结与提高 39
习题 42
3.1.1 面向对象方法的基本思想 43
3.1 面向对象编程的基本思想与方法 43
第三章 面向对象编程基础 43
3.1.2 面向过程编程与面向对象编程比较 44
3.2 对象、类与Java实现 45
3.2.1 对象与类 45
3.2.2 Java类 45
3.2.3 对象实例化及对象的使用 47
3.3 封装与抽象 49
3.4 对象的初始化——构造器方法 52
3.5.1 static变量 54
3.5 static变量与方法 54
3.5.2 static方法 55
3.6 方法重载与静态多态性 56
3.7 对象的高级使用 60
3.7.1 对象作为类的成员 60
3.7.2 对象作为方法的参数和方法的返回值 63
3.8 数组 64
3.8.1 一维数组 64
3.8.2 多维数组 66
3.8.3 数组的应用 68
习题 71
4.1 类的继承 73
4.1.1 继承的基本概念 73
第四章 面向对象编程高级技术 73
4.1.2 类继承的Java实现 74
4.1.3 Java的单继承结构和Object类 83
4.2 多态性 84
4.2.1 继承结构中类对象之间的类型转换 84
4.2.2 运行时多态 85
4.3 抽象方法与抽象类 87
4.4.1 接口的定义、继承与实现 88
4.4 接口 88
4.4.2 接口与多继承 92
4.4.3 接口与多态 95
习题 96
第五章 包、异常与输入/输出 98
5.1 Java包 98
5.1.1 包的创建与使用 98
5.1.2 基于包的访问权限 102
5.1.3 Jar归档文件 103
5.2.1 Java API包 104
5.2 Java API包与常用API的使用 104
5.2.2 常用API的使用 105
5.3 异常 111
5.3.1 Java异常处理机制与try-catch-finally语句 112
5.3.2 throws子句与throw语句的使用 115
5.3.3 Java异常的分类与Java异常类的层次结构 117
5.3.4 自定义异常 119
5.4 输入/输出流与文件 120
5.4.1 输入/输出流概念 120
5.4.2 输入/输出节点流 121
5.4.3 过滤流 125
5.4.4 InputStreamReader和OutputStreamWriter类 129
5.4.5 PrintWriter类 130
5.4.6 文件的随机读/写 131
5.4.7 文件与目录管理 133
习题 137
第六章 图形用户界面 139
6.1 Java GUI基础 139
6.2 Java的布局管理 141
6.2.1 顺序布局 141
6.2.2 边界布局 142
6.2.3 网格布局 143
6.2.4 手工布局 144
6.3 Java的事件处理机制 146
6.4 Java的常用组件及事件处理 149
6.4.1 Font和Color 149
6.4.2 标签和按钮 149
6.4.3 文本输入框和密码输入框 152
6.4.4 单选按钮和复选框 155
6.4.5 下拉列表框 159
6.4.6 菜单 161
6.4.7 标准对话框 164
6.4.8 用户自定义对话框 167
6.4.9 文件框 169
6.4.10 常用容器 172
6.5 综合应用 173
6.5.1 游戏的主要功能 173
6.5.2 游戏的界面设计 173
6.5.3 游戏的设计思想 173
6.5.4 游戏的实现代码 175
6.6.1 javax.swing包与java.awt包 182
6.6 总结与提高 182
6.6.2 Swing简介 183
6.6.3 Java的事件处理 184
习题 185
第七章 网络编程基础 187
7.1 网络编程的基本知识 187
7.1.1 网络协议 187
7.1.3 服务器和客户 188
7.1.4 端口 188
7.1.2 机器标识 188
7.1.5 套接字 189
7.2 基于TCP协议的简单聊天系统 189
7.2.1 Java的网络编程类 189
7.2.2 服务器和客户端的连接过程 190
7.2.3 简单聊天系统的实现 190
7.3 Java的多线程机制 196
7.3.1 线程的创建 197
7.3.2 线程的生命周期 197
7.3.3 线程的实现 198
7.4.1 实现多客户连接的原理 199
7.4 基于TCP协议的多客户/服务器信息交互系统 199
7.4.2 客户连接线程的实现 200
7.4.3 收/发信息线程的实现 200
7.4.4 多客户/服务器信息交互系统的实现 201
7.5 基于TCP协议的多客户信息广播系统 203
7.5.1 客户/服务器之间需要传送的信息内容 203
7.5.2 客户/服务器协议(信息格式)的约定 203
7.5.3 信息的分离、存储与显示 204
7.5.4 服务器端功能结构 207
7.5.5 服务器端程序实现 209
7.5.6 客户端功能结构 215
7.5.7 客户端程序实现 215
7.6 总结与提高 221
7.6.1 多线程的第二种实现途径 221
7.6.2 线程的同步 221
7.6.3 基于UDP协议的网络连接 227
习题 235
附录一 Applet简介 237
附录二 Java API文档 242
附录三 javadoc的使用 244