第一章 Java技术入门 1
1.1 Java技术概述 1
1.1.1 Java发展简史 1
1.1.2 Java技术特性 2
1.2 Java平台核心机制 4
1.2.1 Java平台 4
1.2.2 Java程序运行过程 5
1.3 Java开发环境安装及配置 6
1.3.1 获取和安装Java开发工具集 6
1.3.2 JDK6.0组成结构 7
1.3.3 配置环境变量Path 7
1.4 第一个Java应用程序 9
1.4.1 创建源文件HelloWorld 9
1.4.2 将源文件编译为字节码文件 10
1.4.3 运行程序 11
1.4.4 Java应用程序结构 11
第二章 面向对象程序设计入门 13
2.1 面向对象程序设计概述 13
2.2 类和对象 14
2.2.1 类的声明 14
2.2.2 属性 15
2.2.3 方法 16
2.2.4 构造方法 16
2.2.5 对象创建和使用 17
2.3 信息封装和隐藏 18
2.4 Java API文档 21
第三章 Java基础语法 23
3.1 注释 23
3.2 分隔符、标识符和关键字 24
3.2.1 分隔符 24
3.2.2 标识符 25
3.2.3 关键字 26
3.3 数据类型 28
3.3.1 什么是数据类型 28
3.3.2 基本数据类型 29
3.3.3 引用数据类型 35
3.4 方法 40
3.4.1 什么是方法 40
3.4.2 形参、实参及返回值 41
3.4.3 方法的调用 42
3.5 变量 43
3.5.1 什么是变量 43
3.5.2 变量的分类、声明及初始化 43
3.5.3 变量的生存期、作用域和存储细节 44
3.6 值传递 48
3.7 关键字this 50
3.8 标准输入/输出 52
3.8.1 什么是控制台 52
3.8.2 读取控制台输入 53
3.8.3 格式化输出 54
3.9 编码惯例 56
3.9.1 命名惯例 57
3.9.2 文件组织 57
3.9.3 分隔和缩进 58
3.9.4 声明语句 59
3.9.5 其他 60
第四章 运算符、表达式和流程控制 61
4.1 运算符 61
4.1.1 算术运算符 61
4.1.2 关系运算符 62
4.1.3 布尔运算符 63
4.1.4 位运算符 65
4.1.5 移位运算符 67
4.1.6 赋值运算符 68
4.1.7 其他运算符 69
4.2 表达式 72
4.2.1 什么是表达式 72
4.2.2 表达式中的数值类型转换 74
4.3 程序运行流程 76
4.3.1 顺序性结构 76
4.3.2 分支结构 77
4.3.3 循环结构 78
4.4 分支语句 78
4.4.1 if-else语句 78
4.4.2 switch语句 83
4.5 循环语句 87
4.5.1 for循环 88
4.5.2 while循环 91
4.5.3 do~while循环 92
4.5.4 for-each循环 93
4.5.5 循环的嵌套 94
4.5.6 流程控制语句break和continue 95
4.6 递归 99
4.6.1 什么是递归 99
4.6.2 Fibnacy数列问题 101
4.6.3 汉诺塔问题 103
第五章 数组 105
5.1 一维数组 105
5.1.1 数组的声明 105
5.1.2 数组对象的创建和使用 106
5.1.3 数组对象的length属性 109
5.1.4 数组的静态初始化 111
5.2 多维数组 112
5.3 数组拷贝 115
5.4 数组排序 118
第六章 面向对象编程进阶 120
6.1 包 120
6.1.1 什么是包 120
6.1.2 包的创建 121
6.1.3 导入包中的类 122
6.1.4 应用程序类打包 124
6.2 继承 125
6.2.1 什么是继承 125
6.2.2 单重继承和多重继承 128
6.2.3 类之间的关系 129
6.3 访问控制 130
6.4 方法重写 133
6.5 关键字super 136
6.6 多态性 138
6.6.1 何为多态 138
6.6.2 虚方法调用 141
6.6.3 对象造型 143
6.6.4 instanceof运算符 145
6.6.5 协变返回类型 146
6.7 方法重载 148
6.7.1 什么是方法重载 148
6.7.2 使用this调用其他重载构造方法 151
6.7.3 调用重载方法的多重匹配问题 153
6.8 深究对象构造和初始化 155
6.9 关键字static 157
6.9.1 static属性 157
6.9.2 static方法 159
6.9.3 初始化块 162
6.9.4 静态导入 163
6.9.5 Singleton设计模式 164
6.10 关键字final 167
6.10.1 final类和final方法 167
6.10.2 final常量 169
第七章 高级类特性 171
7.1 抽象类 171
7.2 接口 174
7.2.1 什么是接口 174
7.2.2 接口的多重实现 176
7.2.3 接口的多重继承 179
7.3 嵌套类 180
7.3.1 嵌套类概述 180
7.3.2 内部类 181
7.3.3 局部内部类 185
7.3.4 匿名内部类 186
7.3.5 静态嵌套类 189
7.4 枚举类型 191
7.4.1 什么是枚举类型 191
7.4.2 组合使用枚举类型与switch语句 193
第八章 异常处理 195
8.1 异常的概念及分类 195
8.1.1 什么是异常 195
8.1.2 Java异常分类及常见异常 196
8.2 Java异常处理机制 200
8.2.1 捕获异常 200
8.2.2 声明抛弃异常 206
8.2.3 人工抛出异常 208
8.3 用户自定义异常 210
8.4 断言 211
8.4.1 启用和禁用断言 212
8.4.2 使用断言 212
第九章 精通常用的Java类 215
9.1 Java类的共同父类Object 215
9.1.1 hashCode()方法 215
9.1.2 toString()方法 216
9.1.3 equals()方法 218
9.1.4 finalize()方法 221
9.1.5 clone()方法 223
9.2 字符串相关类型 228
9.2.1 String类 228
9.2.2 StringBuffer类 231
9.2.3 StringBuilder类 232
9.2.4 StringTokenizer类 232
9.3 封装类 234
9.3.1 封装类的概念和使用 234
9.3.2 自动封装和拆封 237
9.4 日期相关类型 239
9.4.1 Date类 239
9.4.2 Calendar类 240
9.4.3 Locale类 242
9.4.4 TimeZone类 245
9.4.5 GregorianCalendar类 247
9.4.6 DateFormat 248
9.4.7 SimpleDateFormat 250
9.5 数学相关类型 253
9.5.1 基本数学功能类Math 253
9.5.2 随机数生成器类Random 254
9.5.3 大数值类型BigInteger/BigDecimal 257
9.5.4 数据格式化工具类NumberFormat/DecimalFormat 259
第十章 控制台应用程序设计 264
10.1 命令行参数 264
10.2 系统属性 265
10.3 标准输入/输出 269
10.4 文件操作 272
10.4.1 File类 272
10.4.2 文件I/O 276
10.4.3 文件过滤 280
10.5 可变参数方法 283
10.6 过时API(Deprecation) 285
10.6.1 什么是过时API 285
10.6.2 用户自定义过时API 286
10.7 注解(Annotation) 287
10.7.1 什么是注解 287
10.7.2 内置注解类型 288
10.8 归档工具(jar) 290
10.8.1 jar文件基本用法 290
10.8.2 发布Java应用程序 292
10.8.3 清单文件 294
第十一章 集合与映射 296
11.1 集合框架概述 296
11.2 Collection及Map接口 297
11.3 列表(List) 299
11.3.1 ArrayList类 299
11.3.2 Vector类&30 1
11.3.3 Stack类 304
11.4 Iterator接口 305
11.5 集(Set) 309
11.5.1 HashSet类 309
11.5.2 TreeSet类 310
11.5.3 Comparable接口 311
11.6 映射(Map) 313
11.6.1 HashMap类 314
11.6.2 Hashtable类 316
11.6.3 TreeMap类 316
11.7 其他相关API 319
11.7.1 Enumeration接口 319
11.7.2 Collections类 320
11.7.3 Arrays类 324
第十二章 GUI程序设计 326
12.1 Java GUI设计 326
12.1.1 抽象窗口工具集AWT 326
12.1.2 组件和容器 326
12.1.3 布局管理器 331
12.2 GUI事件处理 341
12.2.1 Java事件和事件处理机制 341
12.2.2 多重监听器 345
12.2.3 事件适配器 349
12.2.4 内部类和匿名类在GUI事件处理中的应用 352
12.3 AWT常用组件和视觉控制 356
12.3.1 按钮和标签 356
12.3.2 文本组件 356
12.3.3 菜单组件 363
12.3.4 选择组件 368
12.3.5 对话框组件 372
12.3.6 滚动组件 380
12.3.7 视觉控制类 384
12.4 AWT绘图 386
12.4.1 绘制基本图形 386
12.4.2 图像处理 388
12.5 Applet 395
12.5.1 什么是Applet 395
12.5.2 Applet运行机制 397
12.5.3 Applet插件标记 398
第十三章 Swing基础 401
13.1 Swing概述 401
13.2 Swing典型组件 403
13.2.1 JFrame 403
13.2.2 Swing按钮、菜单和工具条 406
13.2.3 标准对话框 408
13.2.4 表格和树 412
13.2.5 定时器 416
第十四章 高级I/O编程 419
14.1 Java I/O原理 419
14.2 基础I/O流类型 420
14.2.1 InputStream 420
14.2.2 OutputStream 421
14.2.3 Reader 422
14.2.4 Writer 423
14.3 常用I/O流类型 424
14.3.1 FileInputStream/FileOutputStream 424
14.3.2 FileReader/FileWriter 425
14.3.3 BufferedReader/BufferedWriter 426
14.3.4 InputStreamReader/OutputStreamWriter 427
14.3.5 PrintStream/PrintWriter 427
14.3.6 DataInputStream/DataOutputStream 428
14.3.7 CharArrayReader/CharArrayWriter 430
14.4 I/O应用专题 432
14.4.1 标准I/O重定向 432
14.4.2 属性信息导入/导出 436
14.4.3 随机存取文件 437
14.4.4 临时文件 440
14.5 对象序列化 442
14.6 NIO 448
14.6.1 缓冲区(Buffer) 448
14.6.2 通道(Channel) 452
14.6.3 字符集转换(Charset) 453
14.6.4 高级NIO技术 458
第十五章 泛型 467
15.1 泛型简介 467
15.2 使用泛型 468
15.2.1 集合框架中的泛型 468
15.2.2 泛型的向后兼容性 470
15.3 泛型进阶 471
15.3.1 类型参数 471
15.3.2 类型通配符 473
15.3.3 泛型方法 477
15.3.4 受限制的类型参数 479
第十六章 线程 482
16.1 线程基础 482
16.1.1 什么是线程 482
16.1.2 创建线程 483
16.1.3 创建线程的第二种方式 486
16.1.4 后台线程 487
16.1.5 GUI线程 488
16.2 线程控制 490
16.2.1 线程状态 490
16.2.2 线程优先级 491
16.2.3 线程串行化 493
16.2.4 线程休眠 494
16.2.5 线程让步 497
16.2.6 线程挂起和恢复 498
16.2.7 线程等待和通知 502
16.3 线程的同步 502
16.3.1 临界资源问题 502
16.3.2 互斥锁 505
16.3.3 死锁 506
16.3.4 线程同步通讯 508
16.3.5 生产者~消费者问题 509
16.4 多线程编程专题 512
16.4.1 线程间数据传输 512
16.4.2 类的同步性和线程安全 514
16.4.3 定时器 517
第十七章 Socket网络编程 520
17.1 网络基础 520
17.1.1 什么是计算机网络 520
17.1.2 网络通信协议 521
17.1.3 IP地址、域名和端口号 523
17.2 URL 525
17.3 Socket编程 527
17.4 NIO非阻塞式Socket通信 544
17.4.1 传统的阻塞式I/O 544
17.4.2 非阻塞式I/O 550
第十八章 JDBC编程 561
18.1 数据库简介 561
18.1.1 关系型数据库 561
18.1.2 SQL语言 561
18.1.3 ODBC 561
18.2 JDBC基本概念 562
18.2.1 什么是JDBC 562
18.2.2 JDBC驱动程序 563
18.2.3 JDBC URL 564
18.3 JDBC编程 565
18.3.1 JDBC编程基本步骤 565
18.3.2 执行SQL语句 568
18.3.3 获取数据库元数据 572
18.3.4 访问SQL Server数据库 575
18.4 JDBC-ODBC编程 577
18.4.1 创建ODBC数据源 577
18.4.2 连接并操作ODBC数据源 579
18.4.3 访问Access数据库 581
18.4.4 访问SQL Server数据库 582
18.5 JDBC编程进阶 583
18.5.1 使用属性文件配置运行环境信息 583
18.5.2 OCI方式访问Oracle数据库 585
18.5.3 可滚动和可更新结果集 590
18.5.4 预处理语句 599
18.5.5 调用存储过程 602
18.5.6 事务处理 603
18.5.7 批处理 607
18.5.8 高级SQL类型BLOB/CLOB 609
第十九章 应用程序国际化 615
19.1 国际化和本地化简介 615
19.2 数字、日期和时间国际化 616
19.3 资源包 618
19.3.1 属性文件 618
19.3.2 资源绑定类 622
19.4 消息格式化 626
19.4.1 简单的消息格式化 626
19.4.2 占位符类型和样式设置 628
19.4.3 国际化程序中的消息格式化 630
后记 632