第1章 Java语言概述 1
1.1 引言 1
1.2 Java语言的起源和发展 1
1.3 Java语言的特点 3
1.4 Java程序的工作方式 5
1.4.1 Java虚拟机 5
1.4.2 Java运行环境 5
1.4.3 JDK 5
1.5 Java语言规范和开发工具 6
1.6 JDK的安装和环境变量配置 6
1.7 创建、编译、运行Java程序 8
1.8 Java应用程序剖析 9
练习题 10
第2章 Java基本数据类型和操作 11
2.1 引言 11
2.2 标识符 12
2.3 关键字 13
2.4 变量和常量 13
2.5 数值量 14
2.6 基本数据类型 14
2.6.1 整数类型 15
2.6.2 浮点数类型 17
2.6.3 字符类型 18
2.6.4 数据类型转换 19
2.6.5 布尔变量 21
2.6.6 运算符和表达式 22
2.7 字符串类型 25
2.8 简单的交互方法 25
2.8.1 信息输出的方法 26
2.8.2 输入方法 27
2.9 程序错误 28
练习题 29
第3章 流程控制 31
3.1 引言 31
3.2 选择结构 31
3.2.1 if语句 32
3.2.2 if…else语句 33
3.2.3 if语句的嵌套 33
3.2.4 switch语句 34
3.3 循环结构 37
3.3.1 while循环 37
3.3.2 do…while循环 38
3.3.3 for循环 38
3.3.4 循环嵌套 40
3.3.5 程序转移语句break 42
3.3.6 程序转移语句continue 43
3.4 实例学习 44
练习题 47
第4章 类和对象 49
4.1 引言 49
4.2 对象和类的基础知识 49
4.3 方法 50
4.3.1 方法的创建 50
4.3.2 方法的调用 51
4.3.3 方法的参数传递 52
4.3.4 方法的重载 53
4.4 类和对象的定义 54
4.4.1 类的定义 54
4.4.2 对象的定义 55
4.5 类和对象的访问 58
4.5.1 类的构造方法 58
4.5.2 对象的访问 60
4.5.3 访问器与修改器方法 60
4.5.4 静态变量、常量和方法 62
4.5.5 变量的作用域 65
4.5.6 变量的初始化 67
4.5.7 this关键字 69
4.6 内部类 70
4.7 类的设计和抽象 71
练习题 76
第5章 数组、字符串和常用类 78
5.1 引言 78
5.2 数组基本知识 78
5.2.1 数组的声明和创建 78
5.2.2 数组的大小和元素 79
5.2.3 数组的初始化 80
5.2.4 数组作为方法的参数 81
5.2.5 数组的复制 83
5.2.6 数组的使用 84
5.2.7 二维数组 87
5.2.8 数组的应用 88
5.3 字符串 91
5.3.1 字符串的构造 91
5.3.2 字符串的比较 92
5.3.3 字符串的常用方法 93
5.3.4 字符串和字符数组 94
5.3.5 StringBuilder/StringBuffer类 95
5.3.6 命令行参数 98
5.4 常用的类 99
5.4.1 基本类型包装类 99
5.4.2 Math类 101
5.4.3 Date类 102
5.4.4 Calendar类 102
5.4.5 Random类 103
5.5 可变参数 103
5.5.1 可变参数的定义 103
5.5.2 可变参数的重载 104
练习题 105
第6章 类的继承性 107
6.1 引言 107
6.2 父类和子类 107
6.3 关键字super 111
6.3.1 调用父类的构造方法 111
6.3.2 调用父类的普通方法 113
6.4 方法覆盖 113
6.5 访问控制 115
6.6 Object类 116
6.6.1 equals方法 116
6.6.2 toString方法 117
6.6.3 clone方法 117
6.7 多态性 117
6.8 对象转换 120
6.9 抽象类和终极类 122
6.10 接口 125
6.10.1 接口的定义 125
6.10.2 接口的使用 127
6.10.3 与抽象类的关系 130
6.11 数据域和静态方法的隐藏 130
6.12 类之间的关系 132
6.12.1 关联 132
6.12.2 聚集和组合 133
6.12.3 继承 133
练习题 134
第7章 图形用户界面程序设计 135
7.1 引言 135
7.2 Java的图形API 135
7.3 容器 137
7.3.1 框架 137
7.3.2 面板 139
7.4 布局管理器 140
7.4.1 布局管理器FlowLayout 140
7.4.2 布局管理器GridLayout 141
7.4.3 布局管理器BorderLayout 142
7.4.4 布局管理器CardLayout 143
7.4.5 布局管理器GridBagLayout 146
7.5 Swing GUI组件 148
7.5.1 Swing组件特性 148
7.5.2 标签JLabel 150
7.5.3 按钮 151
7.5.4 复选框 152
7.5.5 单选按钮 153
7.5.6 文本域 153
7.5.7 文本区 154
7.5.8 组合框 156
7.5.9 列表框 158
7.5.10 菜单 160
7.5.11 滚动条 162
7.6 辅助类Color和Font 163
7.6.1 颜色类Color 163
7.6.2 字体类Font 163
练习题 164
第8章 事件驱动程序设计 166
8.1 引言 166
8.2 事件和事件源 166
8.3 事件注册和处理 167
8.4 常用Swing组件的事件处理 172
8.4.1 常用按钮类和文本域事件 172
8.4.2 组合框和列表框事件 176
8.4.3 菜单事件 179
8.4.4 滚动条事件 182
8.5 鼠标事件处理 183
8.6 键盘事件处理 185
8.7 小结 187
练习题 187
第9章 Applet和多媒体 188
9.1 引言 188
9.2 小程序 188
9.2.1 Applet类 188
9.2.2 JApplet类 190
9.2.3 applet程序的运行 190
9.2.4 向applet传递参数 192
9.2.5 applet的安全机制 193
9.3 多媒体处理 195
9.3.1 图形 195
9.3.2 图标、图像文件和URL 198
9.3.3 显示图像 199
9.3.4 播放音频 202
9.3.5 Java媒体框架(JMF) 203
练习题 204
第10章 异常处理 205
10.1 引言 205
10.2 异常的类型 206
10.2.1 预定义异常 206
10.2.2 自定义异常 207
10.3 异常处理的操作 208
10.3.1 声明异常 209
10.3.2 抛出异常 209
10.3.3 捕获异常 210
10.3.4 获取异常信息 213
10.4 异常处理的进一步讨论 214
10.4.1 异常重新抛出 214
10.4.2 finally子句 215
10.4.3 选择使用异常 216
练习题 216
第11章 多线程 219
11.1 引言 219
11.2 创建线程 220
11.2.1 扩展Thread类创建线程 220
11.2.2 实现Runnable接口创建线程 223
11.3 线程状态和控制线程 224
11.3.1 线程的状态 224
11.3.2 控制线程 225
11.3.3 getName()方法和setName()方法 226
11.3.4 isAlive()方法 227
11.3.5 join()方法 229
11.3.6 interrupt()方法 230
11.3.7 sleep(long millis)方法 231
11.4 线程组 232
11.5 多线程同步 233
11.6 死锁 236
11.7 为applet创建线程 238
练习题 240
第12章 输入输出 241
12.1 引言 241
12.2 文本I/O与二进制I/O 242
12.3 数据流的类 242
12.4 File类 244
12.5 外部文件处理 246
12.6 过滤器流 249
12.7 数据流 249
12.8 打印数据流 252
12.9 缓冲数据流 253
12.10 对象数据流 255
12.11 随机读写文件 258
12.12 文件对话框 260
12.13 小结 264
练习题 264
第13章 网络程序设计 266
13.1 引言 266
13.2 网络基本概念 266
13.3 基于套接字的编程 267
13.3.1 客户/服务器计算模式 267
13.3.2 多客户服务 271
13.3.3 传输对象型数据 274
13.4 基于URL的编程 278
13.4.1 创建URL 279
13.4.2 解析URL 279
13.4.3 使用URL浏览网页 280
13.4.4 使用URL读取服务器上的文件 282
13.5 使用JEditorPane类浏览HTML文件 285
练习题 287
参考文献 289