第1章 走马观花看Java 1
1.1 初识Java程序 1
1.1.1 Java程序的类型 1
1.1.2 简单的GUI应用程序 2
1.1.3 控制台应用程序 4
1.2 程序的设计规则 5
1.2.1 应用程序的结构 5
1.2.2 注释 5
1.2.3 Java程序的设计原则 6
1.3 进一步了解Java 7
1.3.1 Java演义 7
1.3.2 Java的优势 8
1.3.3 Java虚拟机 10
1.3.4 垃圾回收 11
本章习题 12
第2章 Java程序开发 14
2.1 Java开发工具概述 14
2.2 JDK的安装与配置 16
2.2.1 JDK的版本变迁 16
2.2.2 JDK的下载与安装 17
2.2.3 系统环境变量的设置 18
2.3 JDK常用命令 20
2.4 JavaAPI 24
2.5 基于JDK的Java程序开发 25
2.5.1 Java程序开发步骤 25
2.5.2 Java应用程序开发 26
2.5.3 Applet小程序开发 28
本章习题 30
第3章 Java的基本语法—C++语言的克隆 32
3.1 Java语言符号集 32
3.1.1 Java的符号 32
3.1.2 Java标识符 32
3.1.3 Java关键字 33
3.1.4 Java运算符 33
3.1.5 Java分隔符 34
3.2 数据类型与类型转型 35
3.2.1 Java的数据类型 35
3.2.2 常量与变量 36
3.2.3 基本数据类型 38
3.2.4 基本数据类型的封装 40
3.2.5 数据类型转型的原则 41
3.3 运算符与表达式 43
3.3.1 算术运算符与算术表达式 43
3.3.2 关系运算符与关系表达式 44
3.3.3 逻辑运算符与逻辑表达式 44
3.3.4 位运算符与位表达式 45
3.3.5 赋值运算符与赋值表达式 45
3.3.6 条件运算符与条件表达式 45
3.3.7 运算符的优先级 46
3.4 程序的控制结构 46
3.4.1 顺序结构 46
3.4.2 分支结构 47
3.4.3 循环结构 51
3.4.4 进一步了解循环 55
3.4.5 跳转结构 57
本章习题 58
第4章 类与对象:构建Java程序的基石 63
4.1 面向对象程序设计 63
4.1.1 面向对象的基本概念 63
4.1.2 面向对象的特征 66
4.1.3 面向对象程序设计的优越性 70
4.2 类的描述 70
4.2.1 类的定义 70
4.2.2 属性声明 72
4.2.3 方法定义 73
4.2.4 构造方法 75
4.3 实例对象 77
4.3.1 对象的创建与初始化 77
4.3.2 对象的引用与使用 79
4.3.3 this关键字 80
4.3.4 get与set方法 81
4.4 Java修饰符 82
4.4.1 Java的修饰符 82
4.4.2 类的访问控制修饰符 83
4.4.3 类成员要素的访问控制修饰符 83
4.4.4 类的特征修饰符 86
4.4.5 成员变量的特征修饰符 87
4.4.6 成员方法的特征修饰符 87
4.5 static修饰符与静态成员要素 88
4.6 类的行为描述 91
4.6.1 类的成员方法 91
4.6.2 局部变量 92
4.6.3 方法的参数传递机制 93
4.6.4 方法的调用 94
4.6.5 递归方法的构建 95
本章习题 96
第5章 数组 100
5.1 一维数组 100
5.1.1 一维数组的声明 100
5.1.2 一维数组的初始化 100
5.1.3 一维数组的访问 101
5.1.4 字符数组与字符串对象 102
5.2 多 维 数 组 104
5.2.1 多维数组的声明 104
5.2.2 多维数组的初始化 104
5.2.3 多维数组的访问 105
5.3 数组的应用 105
5.3.1 main方法的字符串数组参数 105
5.3.2 对象数组 106
5.3.3 数组作为方法的参数与方法的返回值 106
5.3.4 数组元素作为方法的参数 107
5.3.5 数组在排序中的应用 107
本章习题 108
第6章 Java面向对象的特征 109
6.1 Java的继承机制 109
6.1.1 继承的概念 109
6.1.2 继承的意义与特征 111
6.1.3 继承的实现 111
6.1.4 构造方法的继承 113
6.1.5 继承机制下成员要素的行为 115
6.1.6 最终类与最终成员要素 118
6.1.7 对象的类型转换 119
6.2 抽象类与抽象方法 120
6.2.1 类与方法的抽象 120
6.2.2 抽象类与抽象方法的应用 122
6.3 接口 124
6.3.1 接口的概念 124
6.3.2 接口的定义 125
6.3.3 接口的实现 127
6.3.4 接口类型与接口变量 127
6.3.5 接口、类与抽象类 128
6.4 多态 129
6.4.1 重要概念 129
6.4.2 方法重载 130
6.4.3 方法覆盖/重写 130
6.4.4 方法重载与方法覆盖的比较 131
6.5 包 132
6.5.1 包的概念 132
6.5.2 创建自定义包 132
6.5.3 引用包 133
6.5.4 Java类库 135
本章习题 135
第7章 AWT支持下的GUI编程 138
7.1 GUI与AWT 138
7.1.1 GUI与JFC 138
7.1.2 AWT与Swing 139
7.1.3 AWT的组件类 140
7.2 AWT的容器组件 141
7.2.1 容器组件概述 141
7.2.2 窗口容器组件Window 142
7.2.3 框架容器组件Frame 142
7.2.4 对话框容器组件Dialog 145
7.2.5 面板容器组件Panel 146
7.2.6 应用窗体的屏幕居中 147
7.3 AWT的非容器组件 149
7.3.1 非容器组件概述 149
7.3.2 标签组件Label 150
7.3.3 按钮组件Button 150
7.3.4 文本组件TextComponent 151
7.3.5 文本域组件TextField 152
7.3.6 文本区组件TextArea 153
7.3.7 复选框组件Checkbox与单选按钮组件RadioBuon 154
7.3.8 选择框组件Choice 156
7.3.9 列表框组件List 157
7.3.10 滚动条组件ScrollBar 157
7.4 AWT容器的布局策略 159
7.4.1 布局管理器LayoutManager 159
7.4.2 边界布局BorderLayout 160
7.4.3 流式布局FlowLayout 162
7.4.4 网格布局GridLayout 163
7.4.5 卡片布局CardLayout 164
7.5 AWT的菜单系统 166
7.5.1 菜单系统概述 166
7.5.2 下拉式菜单系统的组件类及方法 167
7.5.3 建立下拉式菜单的步骤 168
7.5.4 弹出式菜单 169
本章习题 170
第8章 Java的事件处理机制 173
8.1 Java的事件处理 173
8.1.1 事件处理的引入 173
8.1.2 事件与事件驱动 175
8.1.3 Java的事件类 178
8.1.4 事件监听器接口类 179
8.1.5 事件适配器类 181
8.1.6 内部类与匿名类实现事件监听 182
8.2 委托事件模型 185
8.2.1 委托事件模型概述 185
8.2.2 为一个事件源注册多个监听器 187
8.3 常见事件 188
8.3.1 鼠标事件 188
8.3.2 键盘事件 189
8.3.3 其他常用事件 190
本章习题 192
第9章 Swing支持下的GUI编程 195
9.1 Swing 195
9.1.1 Swing概述 195
9.1.2 Swing与AWT 196
9.1.3 Swing的体系结构 197
9.1.4 Swing的组件类 198
9.2 Swing编程基础 199
9.2.1 框架窗体JFrame 199
9.2.2 抽象类JComponent 204
9.2.3 组件边框 205
9.2.4 Icon与Tooltip 207
9.2.5 面板Panel 209
9.3 Swing基本组件 210
9.3.1 标签JLabel 210
9.3.2 通用按钮JButton与触发器按钮JToggleButton 211
9.3.3 单选按钮JRadioButton与复选框JChecBox 213
9.3.4 文本域JTextField与文本区JTextArea 215
9.3.5 列表框JList 217
9.3.6 组合框JComboBox 219
9.3.7 滑杆JSlider与进度条JProgressBar 220
9.4 Swing的菜单系统与工具栏 222
9.4.1 Swing菜单系统设计 222
9.4.2 工具栏JToolBar设计 226
9.5 Swing的对话框设计 228
9.5.1 对话框JDialog 228
9.5.2 选项窗格对话框JOptionPane 229
9.6 Swing的高级组件 230
9.6.1 选项卡窗格JTabbedPane 231
9.6.2 表格JTable 232
9.6.3 树JTree 234
本章习题 236
第10章 文本显示与图形图像处理 241
10.1 Java绘图基础 241
10.1.1 Java的绘图机制 241
10.1.2 GUI组件的绘图方法 244
10.2 字体设置 248
10.2.1 Font类 248
10.2.2 FontMetrics类 249
10.3 Graphics绘图 250
10.3.1 Graphics类的绘图方法 250
10.3.2 基本图形绘制 251
10.3.3 画布Canvas 255
10.4 Java图像处理 256
10.4.1 静态图像处理 256
10.4.2 动画处理 259
本章习题 259
第11章 JavaApplet及其运行机制 262
11.1 JavaApplet概述 262
11.1.1 JavaApplet与JavaApplication 262
11.1.2 嵌入Applet程序的HTML文档 263
11.1.3 与Applet有关的HTML标签与属性 265
11.2 Applet的运行机制 265
11.2.1 Applet的生命周期 265
11.2.2 Applet的参数传递机制 266
本章习题 268
第12章 多线程 270
12.1 线程 270
12.1.1 线程的概念 270
12.1.2 线程与进程 270
12.2 线程的生命周期 271
12.2.1 线程的多阶段性 271
12.2.2 线程的五种状态 271
12.3 Java多线程的实现方式 272
12.3.1 继承Thread类 272
12.3.2 实现Runnable接口 274
12.4 线程的控制 275
12.4.1 线程的优先级 275
12.4.2 线程的同步机制 276
12.5 综合案例 277
本章习题 278
第13章 异常处理 280
13.1 异常 280
13.1.1 错误与异常 280
13.1.2 异常类 280
13.1.3 异常的类别 282
13.2 异常处理机制 282
13.2.1 捕获异常 282
13.2.2 抛出异常 283
13.2.3 创建自定义异常 284
13.2.4 异常处理的作用 285
本章习题 286
第14章 网络编程 288
14.1 网络基础知识 288
14.1.1 网络编程 288
14.1.2 TCP与UDP传输协议 289
14.2 URL 289
14.2.1 统一资源定位器URL 289
14.2.2 创建一个URL 290
14.2.3 解析URL 290
14.2.4 从URL读取WWW网络资源 291
14.2.5 通过URLConnection连接www 292
14.2.6 用Applet的方法访问网络资源 293
14.3 InetAddress类 294
14.3.1 创建InetAddress对象的方法 294
14.3.2 InetAddress类的其他方法 295
14.4 Socket 296
14.4.1 Socket通信 296
14.4.2 创建Socket 296
14.5 UDP Socket 298
14.5.1 Java的网络功能 298
14.5.2 DatagramSocket与DatagramPacket 298
14.5.3 DatagramSocket类 299
14.5.4 UDP Socket开发流程类 300
14.6 综合案例 300
本章习题 301
第15章 输入输出流与文件操作 303
15.1 输入输出流的分类 303
15.1.1 Java流的概念 303
15.1.2 标准输入输出 306
15.2 目录和文件管理 307
15.2.1 File类 307
15.2.2 File类的应用举例 308
15.3 字节流 309
15.3.1 顺序读/写文件类 310
15.3.2 ByteArrayInputStream类和ByteArrayOutputStream类 311
15.3.3 缓冲区流BuffedInputStream类和BufferedOutputStream类 311
15.4 字符流 312
15.4.1 Reader和Writer 313
15.4.2 InputStreamReader和OutputStreamb Writer 313
15.4.3 FileReader 313
15.4.4 FileWriter 314
15.4.5 BufferedReader和BufferedWriter 314
15.4.6 CharArray Reader和CharArray Writer 314
15.5 文件的随机访问 316
15.6 其他常用的流 316
15.6.1 管道流 316
15.6.2 ZIP文件流 317
15.6.3 DatalnputStream和DataOutputStream 318
15.6.4 对象流 318
15.7 综合案例 318
本章习题 318
附录A JCreator使用指南 321
附录B 各章习题参考答案 337