第1章 程序设计概论 1
1.1 程序的含义 1
目录 1
1.2 程序设计的思想 7
1.3 程序化的工具——程序语言概论 16
1.4 程序语言的选择——思维模式的搭配 17
第2章 建立Java的开发环境 19
2.1 Java简介 19
2.1.1 Java平台 19
2.1.2 Java 2Standard Edition Version 1.4.0(J2SE 1.4)平台技术的组成 20
2.2 Java开发工具的取得与环境的建立 21
2.2.1 安装Java 2Platform,Standard Edition 21
2.2.2 解压缩Java 2 Platform,Standard Edition的类库 34
2.2.3 安装Java 2Platforrrn,Standard Edition的说明文件 36
3.1 程序的实体组成单元 40
3.1.1 构成程序的符号 40
第3章 Java程序设计的初步体验 40
3.1.2 一系列的字符 41
3.1.3 空格符 42
3.1.4 注释 42
3.1.5 标识符 43
3.1.6 保留字 43
3.1.7 数据常数 44
3.1.9 运算符 45
3.1.8 分隔符 45
3.2 Java程序的种类 46
3.3 Java程序的开发 46
3.4 范例 52
3.4.1 范例1 52
3.4.2 范例2 64
3.4.3 范例3 67
3.4.4 范例4 70
3.4.5 范例5 72
3.4.6 范例6 75
3.4.7 范例7 80
3.4.8 范例8 82
3.4.9 范例9 88
3.5 符号组合后的语义 90
3.6 错误汇总 93
3.7 用户自定义名称的命名习惯 95
第4章 数据的表达与运算 97
4.1 程序中如何表示一个数据 97
4.1.1 变量的意义 98
4.1.2 变量的声明 100
4.1.3 “=”的意义 104
4.1.4 数据类型总论 107
4.1.5 选用数据类型应特别注意的事项 109
4.2 基本数据类型 110
4.2.1 整型数值数据类型 110
4.2.2 浮点数值数据类型 114
4.2.4 字符数据类型 118
4.2.3 真假值数据类型 118
4.2.5 不同基本数据类型的数据转换 121
4.3 运算符 122
4.3.1 改变运算符优先级的运算符 123
4.3.2 类型提升 123
4.3.3 类型转换与cast运算符 124
4.3.4 算术运算符 125
4.3.5 比较运算符 136
4.3.6 逻辑运算符 139
4.3.7 位运算符 152
4.3.8 条件运算符 156
4.3.9 副作用 157
4.4 与算术运算相关的封装类 158
4.4.1 java.lang.Math 158
4.4.2 java.util.Random与Math.random() 163
4.5 数据的应用范围 169
4.6 重载标识符 172
第5章 流程控制 176
5.1 总论 177
5.1.1 循序的流程控制 177
5.1.2 选择性执行的流程控制 177
5.1.3 选择性重复执行的流程控制 178
5.1.4 执行流程的组合方式 179
5.2 流程控制各论 181
5.2.1 选择性执行的流程控制 181
5.2.2 选择性的重复执行的流程控制 205
5.2.3 执行移转的流程控制 224
第6章 类 243
6.1 基本概念 243
6.2 类 249
6.2.1 声明和定义类 256
6.2.2 建立一个对象 259
6.2.3 对象名称的意义 265
6.2.4 存取权修饰符 273
6.2.5 this的意义 276
6.2.6 构造函数的意义 280
6.2.7 对象的身份 287
6.3 接口 288
6.3.1 规范接口——一个象征性的符号 288
6.3.2 定义规范接口 289
6.3.3 规范接口——一个新的数据类型 291
6.3.4 规范接口的赋值运算 294
6.3.5 规范接口的重载标识符 295
6.3.6 规范接口的延伸 296
6.3.7 规范接口声明的格式 303
6.3.8 常数声明的格式 304
6.3.9 抽象方法声明的格式 305
6.4 抽象类 305
6.5 最终类 306
6.6 类的规范 307
6.7 基本概念说明 310
第7章 再谈数据的表达与运算 314
7.1 数组 315
7.1.1 数组的含义 315
7.1.2 多维数组 323
7.1.3 注意事项 329
7.1.4 应用 340
7.2 String类 348
7.3 StringBuffer类 363
7.4 StringTokenizer类 368
7.5 日期数据类型 374
7.5.1 System类 374
7.5.2 Date类 375
7.5.3 Calendar类 377
7.5.4 GregorianCalendar类 385
7.6 基本数据类型的包装类 387
7.6.1 Boolean类 387
7.6.2 Character类 389
7.6.3 Byte类 390
7.6.4 Short类 392
7.6.5 Integer类 394
7.6.6 Long类 396
7.6.7 Float类 399
7.6.8 Double类 400
7.7 正则表达式 402
7.7.1 字符 406
7.7.2 字符组合 406
7.7.3 量化符号 411
7.7.4 逻辑符号 416
7.7.5 边界符号 417
7.7.6 其他运算 421
7.8 Runtime类 427
7.9 System类 428
8.1.1 数据成员的修饰符(modifiers) 432
第8章 设计类的属性与方法 432
8.1 属性:数据成员 432
8.1.2 属性的默认值 445
8.1.3 遮蔽效应 446
8.1.4 属性的规范 447
8.2 方法:成员函数 448
8.2.1 方法的名称 455
8.2.2 返回值类型 456
8.2.3 返回值 458
8.2.4 返回值与类型转换 460
8.2.5 方法重载 461
8.2.6 独特的final 462
8.2.7 参数与参数的传递 463
8.2.8 再论数据的领域与生命周期 477
8.2.9 再论this 485
8.2.10 静态方法成员的设计 486
8.2.11 抛出例外的方法成员 490
8.2.12 递归算法 493
8.2.13 设置运算符与取得运算符 503
8.2.14 indexer类 509
8.2.15 抽象方法 511
8.2.16 方法的规范 511
8.3 由ArrayList浅谈Collections Framework 512
8.3.1 数据积聚结构概论 513
8.3.2 List规范接口及实现类 516
8.3.3 Collections类的相关算法 544
第9章 关系 552
9.1 类与类间的关系 552
9.1.1 关系的含义 552
9.1.2 相依性的关系 554
9.1.3 一般化的关系 555
9.1.4 整体与部分的关系 558
9.1.5 Object类 560
9.2.1 基本原则 563
9.2 一般化关系的程序实现 563
9.2.2 构造函数调用的顺序相依性 565
9.2.3 功能 569
9.2.4 继承的特征 573
9.2.5 赋值运算 574
9.2.6 真实对象的类 580
9.2.7 是否继承同一类 582
9.2.8 同名称的处理方式:遮蔽和改写 583
9.2.9 保留字super与this在继承的关系下所扮演的角色 594
9.2.10 保留字final在继承的关系下所扮演的角色 613
9.2.11 再论继承 615
9.2.12 多态 616
9.3 集合Aggregation关系的程序实际操作 630
9.4 内部类 631
9.4.1 内部类成员概论 633
9.4.2 静态内部类概论 641
9.4.3 局部内部类概论 647
9.4.4 匿名内部类概论 657
第10章 映射数据的类型信息 668
10.1 映射的含义 675
10.2 getDeclaredXXXXs()方法 678
10.3 MetaClass的改进 679
10.4 动态地创建对象 686
10.5 动态地调用方法 690
10.6 动态地取用数据成员 692
第11章 浅谈多线程 698
11.1 线程程序设计的基本结构 699
11.1 Runnable规范接口 702
11.1.2 Thread类 704
11.2 Thread类各论 706
11.2.1 创建什么样的线程 706
11.2.2 目前执行哪一线程 707
11.2.3 线程是否还在执行 708
11.2.4 线程的生命周期概论 709
11.3.1 线程的优先级 712
11.3 线程生命周期各论 712
11.3.2 让出线程的优先权 715
11.3.3 等候执行 716
11.3.4 共享数据的同步 720
11.3.5 生产者与使用者 722
11.3.6 精灵线程 724
11.4 Timer类 726
12.1 设计模式 731
第12章 浅谈设计模式 731
12.2 行为模式 732
12.2.1 模板方法模式 732
12.2.2 迭代模式 734
12.2.3 参观者模式 737
12.2.4 策略模式 742
12.2.5 责任链模式 745
12.3.1 单一模式 749
12.3 创建模式 749
12.3.2 制造方法模式 751
12.3.3 原型模式 754
12.3.4 生成模式 757
12.4 结构模式 761
12.4.1 适配器模式 761
12.4.2 外表模式 764
12.4.3 装潢模式 765
12.4.4 代理模式 768
12.4.5 复合模式 769
12.4.6 桥梁模式 772
第13章 浅谈Java I/O的基本结构与设计 777
13.1 Java的输入/输出流概论 777
13.1.1 Java的两种输入/ 输出流 777
13.1.2 流的流动现象 779
13.2.1 创建File对象 781
13.2 File类 781
13.2.2 特征 783
13.2.3 属性 784
13.2.4 文件夹 785
13.2.5 设置属性 788
13.2.6 创建文件夹 790
13.2.7 删除 791
13.2.8 内容 793
13.2.9 JfileChooser类 798
13.3 字节流 806
13.3.1 基类 806
13.3.2 文件的字节流 807
13.3.3 byte数组的字节流 812
13.3.4 串接缓冲处理功能的字节流 814
13.3.5 串接处理资基本数据功能的字节流 817
13.3.6 串接基本数据为字符串功能的字节流 822
13.3.7 Console I/O的字节流 824
13.3.8 对象序列化功能的字节流 828
13.3.9 文件压缩——字节流的应用 832
13.4 字符流 843
13.4.1 基类 843
13.4.2 文件的字符流 844
13.4.3 char数组的字符流 850
13.4.4 具缓冲处理功能的字符流 853
13.4.5 串接字节流的字符流 856
第14章 浅谈包的设计 863
14.1 默认包 864
14.2 自行设计包 865
14.3 包与目录 866
14.4 顶层包的位置 866
14.5 包与存取控制 871
14.6 包与改写 876
14.7 包命名与名称空间 880