第0章 程序设计语言简介 1
0.1 程序设计语言 1
0.2 Java 1
第1章 面向对象程序设计与软件开发简介 2
1.1 类和对象 2
1.2 消息和方法 3
1.3 类数据值和实例数据值 5
1.4 继承 6
1.5 软件工程和软件生命周期 7
练习 8
第2章 Java使用初步 10
2.1 第一个Java程序 10
2.2 程序的组成元素 16
2.3 编辑、编译及运行周期 22
2.4 Java标准类实例 24
2.5 实例开发 32
练习 36
第3章 数值数据 40
3.1 变量 40
3.2 算术表达式 45
3.3 常量 49
3.4 获取数字输入值 50
3.5 标准输出 53
3.6 标准输入 55
3.7 Math类 60
3.8 随机数生成 63
3.9 GregorianCalendar类 64
3.10 实例开发 67
3.11 数字表示 75
练习 77
第4章 自定义类:第一部分 83
4.1 第一个例子:定义并使用类 83
4.2 第二个例子:定义并使用多个类 90
4.3 匹配实参与形参 93
4.4 将对象传递给方法 94
4.5 构造方法 98
4.6 信息隐藏与可视性修饰符 101
4.7 类常量 103
4.8 局部变量 108
4.9 调用同一类中的方法 110
4.10 将任一类变成主类 112
4.11 实例开发 113
练习 122
第5章 选择语句 127
5.1 if语句 127
5.2 嵌套的if语句 134
5.3 布尔表达式和变量 139
5.4 比较对象 144
5.5 switch语句 148
5.6 绘图 151
5.7 实例开发 157
练习 171
第6章 重复语句 177
6.1 while语句 177
6.2 编写重复语句存在的陷阱 183
6.3 do-while语句 187
6.4 回环分半重复控制 189
6.5 确认对话框 192
6.6 for语句 192
6.7 嵌套的for语句 195
6.8 格式化输出 197
6.9 贷款表 201
6.10 估算运行时间 202
6.11 递归方法 205
6.12 实例开发 208
练习 215
第7章 自定义类:第二部分 221
7.1 从方法中返回对象 221
7.2 保留字this 224
7.3 重载方法和构造方法 230
7.4 类变量和类方法 233
7.5 值调用参数传递 235
7.6 将类组织成包 240
7.7 使用Javadoc注释命令生成类文档 241
7.8 完整的Fraction类 245
7.9 实例开发 251
练习 262
第8章 异常与断言 267
8.1 捕获异常 267
8.2 抛出异常与多catch块 271
8.3 传播异常 275
8.4 异常的类型 280
8.5 自定义异常 282
8.6 断言 284
8.7 实例开发 288
练习 297
第9章 字符与字符串 299
9.1 字符 299
9.2 字符串 301
9.3 模式匹配和正则表达式 308
9.4 Pattern类和Matcher类 313
9.5 比较字符串 315
9.6 StringBuffer和StringBuilder类 317
9.7 实例开发 321
练习 329
第10章 数组 333
10.1 数组基本概念 333
10.2 对象数组 341
10.3 将数组传递给方法 348
10.4 二维数组 352
10.5 列表和映射 357
10.6 实例开发 364
练习 375
第11章 排序和查找 378
11.1 查找 378
11.2 排序 381
11.3 堆排序 386
11.4 实例开发 395
练习 409
第12章 文件输入与输出 411
12.1 File和JFileChooser对象 411
12.2 低级文件I/O 417
12.3 高级文件I/O 420
12.4 I/O对象 427
12.5 实例开发 432
练习 437
第13章 继承与多态 440
13.1 用继承定义类 440
13.2 运用多态有效地使用类 443
13.3 继承和成员可访问性 445
13.4 继承和构造方法 448
13.5 抽象超类和抽象方法 451
13.6 继承与接口的比较 454
13.7 实例开发 455
练习 468
第14章 图形用户界面与事件驱动的程序设计 471
14.1 定制框架窗体 472
14.2 图形用户界面程序设计基础 476
14.3 与文本相关的GUI组件 483
14.4 布局管理器 490
14.5 有效使用嵌套面板 495
14.6 其他GUI组件 501
14.7 菜单 514
14.8 处理鼠标事件 518
练习 523
第15章 递归算法 528
15.1 递归的基本元素 528
15.2 目录列表 529
15.3 异序词 530
15.4 汉诺塔 532
15.5 快速排序 534
15.6 何时不能使用递归 537
练习 539
附录A 如何运行Java程序 541
附录B 实例程序 546
附录C 标准类和接口 557
附录D UML图 569