第1章 使用Java编写第一个程序 1
1.1 创建一个程序 1
1.1.1 程序设计 1
1.1.2 面向对象的程序设计 2
1.1.3 Java程序设计语言 3
1.1.4 启动一个程序 3
1.1.5 给程序添加注释 8
1.1.6 运行程序 9
1.1.7 修改程序 10
1.1.8 小结 11
1.1.9 问题 12
1.1.10 习题 14
1.2 使用数据 15
1.2.1 变量和常量 15
1.2.2 整型数据类型 17
1.2.3 算法语句 19
1.2.4 布尔数据类型 20
1.2.5 浮点数据类型 21
1.2.6 数值类型转换 22
1.2.7 字符数据类型 23
1.2.8 小结 24
1.2.9 问题 25
1.2.10 习题 27
第2章 使用方法、类和对象 29
2.1 使用方法进行程序设计 30
2.1.1 创建不带参数的方法 30
2.1.2 需要单个参数的方法 33
2.1.3 需要多个参数的方法 35
2.1.4 返回数值的方法 36
2.1.5 小结 37
2.1.6 问题 38
2.1.7 习题 40
2.2 使用类 41
2.2.1 类 41
2.2.2 创建一个类 42
2.2.3 使用实例方法 43
2.2.4 声明对象 44
2.2.5 组织类 46
2.2.6 使用构造函数 49
2.2.7 小结 51
2.2.8 问题 51
2.2.9 习题 54
第3章 高级的对象概念 56
3.1 类的特性 56
3.1.1 块和作用域 56
3.1.2 重载 59
3.1.3 多义性 62
3.1.4 把参数传递给构造函数 63
3.1.5 重载构造函数 65
3.1.6 小结 66
3.1.7 问题 66
3.1.8 习题 68
3.2.1 this引用 70
3.2 使用方法 70
3.2.2 使用常量工作 71
3.2.3 使用自动引入的、预先编写的常量和方法 73
3.2.4 使用预先编写的方法 75
3.2.5 小结 77
3.2.6 问题 78
3.2.7 习题 80
4.1 输入和做出判断 82
4.1.1 简单的键盘输入 82
第4章 输入、选择和重复 82
4.1.2 绘制流程图 86
4.1.3 使用if结构进行条件判断 87
4.1.4 if...else结构 88
4.1.5 复合语句 89
4.1.6 嵌套的if和嵌套的if...else 92
4.1.7 小结 92
4.1.8 问题 93
4.1.9 习题 95
4.2.1 与和或运算符 97
4.2 特殊运算符、switch语句和优先级 97
4.2.2 switch语句 100
4.2.3 条件运算符 102
4.2.4 非运算符 102
4.2.5 优先级 102
4.2.6 小结 103
4.2.7 问题 103
4.2.8 习题 106
4.3.1 while循环 107
4.3 循环和快捷算法 107
4.3.2 快捷算术运算符 110
4.3.3 for循环 112
4.3.4 do...while循环 113
4.3.5 嵌套循环 114
4.3.6 小结 116
4.3.7 问题 116
4.3.8 习题 119
5.1.1 声明数组 121
5.1 数组 121
第5章 数组和字符串 121
5.1.2 初始化数组 123
5.1.3 使用数组下标 124
5.1.4 声明对象的数组 124
5.1.5 搜索精确匹配的数组 127
5.1.6 搜索范围匹配的数组 130
5.1.7 把数组传递给方法 131
5.1.9 小结 134
5.1.8 使用数组长度 134
5.1.10 问题 135
5.1.11 习题 137
5.2 字符串 138
5.2.1 声明字符串 138
5.2.2 比较字符串 140
5.2.3 使用其他字符串方法 142
5.2.4 把字符串转换为数字 144
5.2.5 小结 145
5.2.6 问题 146
5.2.7 习题 148
5.3 高级的数组技术 149
5.3.1 给基本的数组元素排序 149
5.3.2 对象数组的排序 153
5.3.3 字符串的排序 154
5.3.4 使用二维数组 155
5.3.5 了多维数组 157
5.3.6 使用StringBuffer 157
5.3.8 问题 159
5.3.7 小结 159
5.3.9 习题 161
第6章 applet 163
6.1 HTML和applet基础 164
6.1.1 编写驻留applet的HTML文件 164
6.1.2 使用标签编写简单的applet 165
6.1.3 改变标签的字体 168
6.1.4 把文本框和按钮组件添加到applet中 169
6.1.5 事件驱动的程序设计 170
6.1.6 把输出添加到applet中 172
6.1.7 小结 173
6.1.8 问题 174
6.1.9 习题 177
6.2 applet生命周期和更复杂的applet 178
6.2.1 applet生命周期 178
6.2.2 完整的、交互式的applet 182
6.2.3 使用setLocation()方法 185
6.2.5 获得帮助 186
6.2.4 使用setEnabled()方法 186
6.2.6 小结 187
6.2.7 问题 187
6.2.8 习题 189
第7章 图形 191
7.1 图形基础 191
7.1.1 paint()和repaint()方法 191
7.1.2 drawString()方法 193
7.1.3 setFont()和setColor()Graphics对象方法 194
7.1.4 设置背景颜色 197
7.1.5 创建自己的Graphics对象 197
7.1.6 绘制线条和矩形 198
7.1.7 绘制椭圆形 200
7.1.8 小结 202
7.1.9 题 202
7.1.10 习题 204
7.2.1 绘制圆弧 206
7.2 其他图形方法 206
7.2.2 创建三维的矩形 207
7.2.3 创建多边形 207
7.2.4 复制一个区域 208
7.2.5 使用Font方法 210
7.2.6 使用简单的动画 215
7.2.7 小结 218
7.2.8 问题 218
7.2.9 习题 220
第8章 继承导论 222
8.1 继承 223
8.1.1 继承的概念 223
8.1.2 继承类 225
8.1.3 覆盖父类方法 229
8.1.4 小结 231
8.1.5 问题 231
8.1.6 习题 233
8.2.1 使用具有构造函数的父类 234
8.2 使用父类和子类 234
8.2.2 使用需要参数的父类构造函数 236
8.2.3 访问父类方法 238
8.2.4 信息隐藏 239
8.2.5 使用不能覆盖的方法 241
8.2.6 小结 243
8.2.7 问题 243
8.2.8 习题 246
第9章 高级的继承概念 248
9.1.1 创建和使用抽象类 249
9.1 抽象类和动态方法绑定 249
9.1.2 使用动态方法绑定 254
9.1.3 创建子类对象的数组 255
9.1.4 小结 257
9.1.5 问题 258
9.1.6 习题 260
9.2 软件设计、接口和包 260
9.2.1 Object类及其方法 260
9.2.3 创建和使用接口 264
9.2.2 使用继承实现有效的软件设计 264
9.2.4 创建和使用包 266
9.2.5 小结 268
9.2.6 问题 269
9.2.7 习题 271
第10章 理解AWT 273
10.1 把继承概念应用于Frame类 274
10.1.1 使用Frame类 274
10.1.2 创建具有关闭操作的框架 276
10.1.3 使用适配器 278
10.1.4 使用附加的Frame类方法 280
10.1.5 使用Container方法 282
10.1.6 小结 285
10.1.7 问题 285
10.1.8 习题 288
10.2 使用组件 288
10.2.1 使用Component方法 288
10.2.2 使用复选框 289
10.2.3 使用CheckboxGroup类 292
10.2.4 使用Choice类 294
10.2.5 使用列表 296
10.2.6 使用Swing组件 299
10.2.7 小结 300
10.2.8 问题 300
10.2.9 习题 303
第11章 使用布局管理器和事件模型 304
11.1.2 使用BorderLayout 305
11.1.1 使用布局管理器 305
11.1 布局管理器 305
11.1.3 使用FlowLayout 308
11.1.4 使用GridLayout 309
11.1.5 使用面板 309
11.1.6 高级的布局管理器 312
11.1.7 小结 312
11.1.8 问题 313
11.1.9 习题 315
11.2.1 理解事件和事件处理 316
11.2 使用事件 316
11.2.2 使用AWTEvent类方法 320
11.2.3 使用更高继承层次的Event方法 321
11.2.4 使用鼠标事件 323
11.2.5 小结 325
11.2.6 问题 325
11.2.7 习题 327
12.1.1 了解异常 329
12.1 异常导言 329
第12章 异常处理 329
12.1.2 try代码和捕获异常 332
12.1.3 使用异常getMessage()方法 333
12.1.4 抛出并捕获多个异常 334
12.1.5 使用finally块 336
12.1.6 小结 337
12.1.7 问题 337
12.2.1 理解传统的错误处理的局限性 340
12.2 高级的异常概念 340
12.1.8 习题 340
12.2.2 指定方法可以抛出的异常 341
12.2.3 通过每次catch唯一地处理异常 345
12.2.4 通过调用栈跟踪异常 346
12.2.5 创建自己的异常 347
12.2.6 小结 349
12.2.7 问题 350
12.2.8 习题 352
13.1.1 使用File类 353
第13章 文件的输入和输出 353
13.1 File类导言 353
13.1.2 数据文件组织和流 356
13.1.3 使用流 358
13.1.4 写入文件 360
13.1.5 读取文件 360
13.1.6 小结 361
13.1.7 问题 362
13.1.8 习题 364
13.2 高级文件技术 364
13.2.1 编写格式化的文件数据 364
13.2.2 读取格式化的文件数据 368
13.2.3 创建随机存取文件 371
13.2.4 小结 373
13.2.5 问题 374
13.2.6 习题 375
14.1 多线程导言 377
14.1.1 多线程的概念 377
第14章 多线程和动画 377
14.1.2 使用Thread类 379
14.1.3 理解线程的生命周期 380
14.1.4 使用sleep()方法 382
14.1.5 线程优先级 383
14.1.6 使用Runnable接口 384
14.1.7 小结 386
14.1.8 问题 387
14.1.9 习题 389
14.2 动画 390
14.2.1 创建动画的图形 390
14.2.2 减弱闪动 393
14.2.3 使用图像 396
14.2.4 垃圾收集 398
14.2.5 把动画放入浏览器页面中 398
14.2.6 小结 401
14.2.7 问题 401
14.2.8 习题 403