目录 3
第Ⅰ部分 基础知识 3
第1章 Java入门 3
1.1 编程导论 3
1.1.1 机器语言 3
1.1.2 汇编语言 4
1.1.3 低级语言和高级语言 4
1.1.4 面向过程和面向对象 5
1.1.5 应用软件和系统软件 6
1.1.6 编程语言 7
1.2 算法、方法和类 11
1.3 构建一个Java程序 16
1.3.1 类的结构 19
1.3.2 main方法 19
1.4 print()和println()方法 22
1.5 编程风格 26
1.6 创建一个对话框 30
1.7 常见编程错误 34
1.8 本章小结 35
1.9 本章补充材料:计算机硬件和软件 36
1.9.1 计算机存储器 38
1.9.2 二进制补码 38
1.9.3 字和地址 39
第2章值、变量和运算 41
2.1 数值和算术运算 41
2.1.1 整数 42
2.1.2 浮点数值 43
2.1.3 字符值 44
2.1.4 转义序列 46
2.1.5 布尔值 47
2.1.6 算术运算 47
2.1.7 整数除法 50
2.1.8 非运算 50
2.1.9 运算符的优先级和结合原则 51
2.1.10 字符串连接 52
2.2 变量和声明 55
2.2.1 声明语句 56
2.2.2 多重声明 59
2.2.3 字符串声明 60
2.2.4 内存清理 62
2.2.5 指定内存分配 64
2.3 final限定符 68
2.4 创建方法 73
2.5 应用 79
2.5.1 应用1:雷达速度监视 79
2.5.2 应用2:电话交换网络 81
2.6 常见编程错误 84
2.7 本章小结 85
2.8 本章补充材料:编程错误 87
2.8.1 编译时和运行时错误 87
2.8.2 语法和逻辑错误 88
3.1 赋值运算 91
第3章 赋值和交互输入 91
3.1.1 隐式的强制类型转换 95
3.1.2 赋值语句的其他形式 96
3.1.3 累加 97
3.1.4 计数 99
3.2 格式化输出 104
3.3 数学方法 111
3.3.2 转换方法 115
3.3.1 显式的强制类型转换 115
3.4 交互式键盘输入 121
3.4.1 StringTokenizer类 125
3.4.2 用户输入验证 128
3.5 交互式对话框输入 134
3.6 应用 145
3.6.1 应用1:酸雨 146
3.6.2 应用2:求指数函数的近似值 148
3.7 常见编程错误 154
3.8 本章小结 155
4.1 关系表达式 158
第4章 选择结构 158
4.1.1 逻辑运算符 160
4.1.2 数值精度问题 162
4.2 if-else语句 164
4.2.1 复合语句 166
4.2.2 单分支选择结构 169
4.3 嵌套式if语句 174
4.4 switch语句 179
4.5.1 应用1:数据过滤 184
4.5 应用 184
4.5.2 应用2:求解二次方程 186
4.6 常见编程错误 191
4.7 本章小结 193
4.8 本章补充材料:程序测试 195
第5章 循环结构 197
5.1 概述 197
5.1.2 固定计数循环与可变条件循环 198
5.1.1 先验循环和后验循环 198
5.2 while语句 200
5.3 交互式while循环 207
5.3.1 标记 213
5.3.2 break语句与continue语句 214
5.3.3 null语句 215
5.4 for语句 217
5.4.1 交互式for循环 223
5.4.2 嵌套循环 225
5.5 循环编程技巧 231
5.5.1 技巧1:循环内的交互输入 231
5.5.2 技巧2:循环内的选择语句 232
5.5.3 技巧3:求解一元函数 233
5.5.4 技巧4:交互循环控制 235
5.6 do-while语句 238
5.7 常见编程错误 242
5.8 本章小结 242
6.1 方法与参数声明 246
第6章 通用方法 246
6.1.1 语句布局 252
6.1.2 方法占位程序 253
6.1.3 参数列表为空的方法 254
6.1.4 重载 254
6.2 返回单一值 258
6.3 应用 268
6.3.1 应用1:模拟抛硬币 270
6.3.2 应用2:直角坐标与极坐标变换 272
6.4 变量作用域 284
6.4.1 作用域解析 287
6.4.2 内部块与外部块 288
6.5 常见编程错误 293
6.6 本章小结 294
第Ⅱ部分 数组和字符串引用类型 299
第7章 数组 299
7.1 一维数组 300
7.1.1 数组值的输入和输出 305
7.1.2 字符串数组 308
7.1.3 运行时指定数组维数 310
7.2 数组初始化 314
7.3 应用 321
7.3.1 应用1:统计数据分析 321
7.3.2 应用2:sort()方法和binarySearch()方法 324
7.4 数组作为参数 327
7.5 常见编程错误 331
7.7 本章补充材料:搜索算法和排序算法 332
7.6 本章小结 332
7.7.1 搜索算法 333
7.7.2 排序算法 340
第8章 多维数组 349
8.1 二维数组 349
8.1.1 二维数组作为参数 352
8.1.2 确定数组维数的高级技巧 354
8.1.3 多维数组 355
8.2 矩阵操作 358
8.3.1 应用1:使用高斯消元法求解联立线性方程 367
8.3 应用 367
8.3.2 应用2:线性最小二乘曲线拟合 374
8.4 常见编程错误 380
8.5 本章小结 380
第9章 字符串和字符 383
9.1 String类 383
9.1.1 创建字符串 384
9.1.2 构造函数 385
9.2.1 String类方法 389
9.2 字符串处理 389
9.1.3 字符串输入和输出 389
9.2.2 其他字符串方法 394
9.2.3 Character类方法 396
9.2.4 转换方法 398
9.3 StringBuffer类 401
9.4 应用 409
9.4.1 应用1:单词计数 409
9.4.2 应用2:曲线绘制 412
9.5 常见编程错误 420
9.6 本章小结 421
第Ⅲ部分 类的创建 425
第10章 类 425
10.1 基于对象的编程 425
10.2 类 428
10.2.1 类构造 429
10.2.2 术语 435
10.3 构造函数 438
10.4.1 应用1:构造一个Elevator对象 447
10.4 应用 447
10.4.2 应用2:气泵模拟 451
10.5 常见编程错误 456
10.6 本章小结 456
10.7 本章补充材料:内部和外部 457
10.7.1 抽象和封装 458
10.7.2 代码复用性和扩展性 459
11.1 成员赋值 460
第11章 类的其他功能 460
11.2 其他类特性 464
11.2.1 类的作用域和可见性 465
11.2.2 静态变量成员 467
11.3 应用 472
11.3.1 应用1:使用多个类进行气泵模拟 472
11.3.2 应用2:值交换 478
11.4 类继承 482
11.4.1 继承 482
11.4.2 多态性 486
11.4.3 继承图 486
11.5 引用变量作为类成员 488
11.6 常见编程错误 494
11.7 本章小结 495
第Ⅳ部分 创建基于Swing程序包的图形用户界面 499
第12章 可视化编程基础 499
12.1 基于事件的程序设计 499
12.1.1 基于事件的模型 501
12.1.2 容器层次结构 503
12.2 创建一个基于swing的窗口 505
12.3 添加一个关闭窗口的事件处理程序 509
12.3.1 事件委托模型 509
12.3.2 适配器和内部类 513
12.4 添加一个按钮组件 520
12.4.1 添加一个按钮 520
12.4.2 添加工具提示和快捷键 523
12.4.3 添加一个事件处理程序 525
12.5 常见编程错误 529
12.6 本章小结 529
第13章 其他组件和事件处理程序 534
13.1 添加多个组件 534
13.1.1 布局管理器 534
13.1.2 属性表 537
13.1.3 添加事件处理程序 538
13.1.4 键盘焦点和Tab键控制 541
13.2 用于显示的文本组件 542
13.2.1 添加JTextField组件 543
13.2.2 添加事件处理程序 546
13.2.3 设置字体和颜色 550
13.2.4 JTextArea组件 553
13.3 用于数据输入的文本组件 557
13.3.1 创建焦点侦听器类 561
13.3.2 输入验证再讨论 566
13.4 添加复选框、单选按钮和分组组件 569
13.4.1 复选框 569
13.4.2 单选按钮 573
13.5 键盘输入验证 580
13.6 常见编程错误 586
13.7 本章小结 587
14.1 文件和文件流 591
14.1.1 文件 591
第14章 文件输入/输出 591
第Ⅴ部分 其他编程主题 591
14.1.2 文件流对象 592
14.1.3 关闭文件流对象 595
14.1.4 缓冲 595
14.2 读写字符文件 597
14.2.1 嵌入式和交互式文件名 601
14.2.2 读取文本文件 603
14.2.3 无缓冲输入/输出 606
14.3 读写字节文件 610
14.4 应用 616
14.4.1 应用1:花粉计数 616
14.4.2 应用2:文件更新 620
14.5 随机存取文件 628
14.6 File类 638
14.7 常见编程错误 642
14.8 本章小结 643
14.9 本章补充材料:字符文件和字节文件的存储 647
15.1 方程求解简介 650
第15章 数值方法 650
15.2 平分法 653
15.3 平分法改进 658
15.3.1 试位迭代法 659
15.3.2 改进的试位迭代法 661
15.4 割线法 666
15.5 数值积分 670
15.6 梯形公式 671
15.6.1 梯形公式的计算形式 672
15.6.2 梯形公式计算的示例 673
15.7 辛普森公式 674
15.8 常见编程错误 677
15.9 本章小结 678
第16章 其他性能 680
16.1 其他特性 680
16.1.1 其他计数制 680
16.1.2 flush()语句 680
16.1.3 条件表达式 681
16.2 位运算符 682
16.2.1 与运算符 683
16.2.2 或运算符 684
16.2.3 异或运算符 684
16.2.4 补码运算符 685
16.2.5 移位运算符 686
16.3 命令行参数 687
16.4 本章小结 691
附录A 运算符优先权表 692
附录B UniCode字符集 694
附录C 编译执行Java程序 696
附录D 获取支持的地区代码 698
附录E 创建前导空格 700
附录F 创建和使用程序包 702
附录G 键盘输入类 704
附录H Applet 710
附录I 实数存储 711
附录J 解决方案和源代码 713