第1章 Java语言概述 1
1.1 Java的起源与发展史 1
1.1.1 程序设计语言 1
1.1.2 Java的家世 3
1.1.3 Java的诞生 4
1.1.4 Java的发展历程 5
1.2 Java的特点 8
1.2.1 简单性 8
1.2.2 面向对象 8
1.2.3 可移植性 9
1.2.4 安全性 9
1.2.5 分布式 9
1.2.6 解释执行和高性能 9
1.2.7 健壮性 10
1.2.8 多线程 10
1.2.9 动态性 10
1.3 Java虚拟机 10
1.3.1 什么是JVM 11
1.3.2 JVM的工作原理 11
1.3.3 JVM垃圾回收 14
1.4 下载并安装JDK 14
1.4.1 安装JDK 14
1.4.2 配置环境变量 15
1.4.3 Hello World程序 17
1.5 使用Eclipse开发Java程序 20
1.5.1 Java IDE简介 20
1.5.2 使用Eclipse新建Java工程 22
1.5.3 Eclipse的常用快捷键 26
1.6 本章小结 28
1.7 思考和练习 28
第2章 Java编程基础 29
2.1 Java程序的基本元素 29
2.1.1 空白符 29
2.1.2 分隔符 29
2.1.3 标识符 30
2.1.4 关键字 30
2.1.5 字面值 31
2.2 变量及其作用域 31
2.2.1 基本数据类型 31
2.2.2 变量的声明与赋值 33
2.2.3 常量的声明 34
2.2.4 数据类型转换 34
2.2.5 变量的作用域 38
2.3 运算符与表达式 39
2.3.1 基本概念 39
2.3.2 算术运算符 39
2.3.3 关系运算符 41
2.3.4 逻辑运算符 41
2.3.5 位运算符 43
2.3.6 赋值运算符 45
2.3.7 其他运算符 46
2.3.8 运算符的优先级 48
2.4 Java流程控制 48
2.4.1 选择结构 49
2.4.2 循环结构 56
2.4.3 跳转语句 60
2.5 数组 61
2.5.1 创建数组 61
2.5.2 访问数组元素 62
2.5.3 数组的静态初始化 63
2.5.4 多维数组 64
2.6 本章小结 66
2.7 思考和练习 66
第3章 面向对象程序设计基础 67
3.1 面向对象编程概述 67
3.1.1 什么是面向对象 67
3.1.2 面向对象编程的主要特征 68
3.2 类与对象 70
3.2.1 类的定义 70
3.2.2 创建对象 72
3.2.3 方法的返回值与参数 73
3.2.4 this关键字 74
3.2.5 构造函数 75
3.2.6 方法重载 76
3.2.7 finalize()方法 77
3.2.8 匿名对象 78
3.3 修饰符 78
3.3.1 访问修饰符 78
3.3.2 static修饰符 80
3.3.3 final修饰符 83
3.3.4 抽象类和抽象方法 84
3.3.5 其他修饰符 86
3.4 继承与多态 87
3.4.1 继承 87
3.4.2 super关键字 88
3.4.3 构造函数的调用时机 91
3.4.4 方法重写与运行时多态 92
3.4.5 Object类 94
3.5 内部类 97
3.5.1 定义和使用内部类 97
3.5.2 匿名内部类 100
3.5.3 静态内部类 103
3.6 本章小结 105
3.7 思考和练习 105
第4章 面向对象高级特性 107
4.1 包 107
4.1.1 包的声明 107
4.1.2 包查找与CLASSPATH 108
4.1.3 import语句 108
4.1.4 JDK中常用的包 109
4.2 接口 110
4.2.1 接口与类 110
4.2.2 接口的定义 111
4.2.3 接口的实现 111
4.2.4 嵌套接口 114
4.2.5 默认方法和静态方法 115
4.2.6 适配器 116
4.3 枚举 116
4.3.1 定义和使用枚举 117
4.3.2 为枚举添加类成员 119
4.3.3 Enum类 120
4.4 类型封装器 121
4.4.1 数值类型封装器 121
4.4.2 Character封装器 124
4.4.3 Boolean封装器 125
4.4.4 自动装箱 125
4.5 注解(元数据) 127
4.5.1 声明和使用注解 127
4.5.2 使用反射获取注解 129
4.5.3 特殊的注解 132
4.5.4 内置注解 134
4.5.5 类型注解 135
4.5.6 重复注解 136
4.6 方法的参数与返回值 137
4.6.1 将对象用作参数 137
4.6.2 返回对象 140
4.6.3 命令行参数 141
4.6.4 可变长度参数 142
4.7 本章小结 143
4.8 思考和练习 144
第5章 异常处理 145
5.1 异常处理的基础知识 145
5.1.1 Java的异常处理机制 145
5.1.2 异常类型 146
5.2 捕获并处理异常 148
5.2.1 未捕获的异常 148
5.2.2 捕获异常 149
5.2.3 抛出异常 154
5.3 用户自定义异常 156
5.4 JDK 7新增的异常特性 158
5.4.1 多重捕获 158
5.4.2 更精确的重新抛出 158
5.5 本章小结 159
5.6 思考和练习 160
第6章 常用Java类库 161
6.1 字符串处理 161
6.1.1 String类 161
6.1.2 StringBuffer类 171
6.1.3 StringBuilder类 175
6.1.4 StringTokenizer类 175
6.2 java.lang包 176
6.2.1 System类 176
6.2.2 Class类 180
6.2.3 Math类 181
6.2.4 其他类和接口 184
6.3 集合框架 184
6.3.1 泛型 185
6.3.2 集合接口 190
6.3.3 集合类 192
6.3.4 映射 197
6.4 java.util包 199
6.5 本章小结 200
6.6 思考和练习 200
第7章 Java输入/输出流 202
7.1 流 202
7.1.1 什么是流 202
7.1.2 Java中的流 203
7.1.3 系统预定义流 205
7.2 文件操作 206
7.2.1 File类 206
7.2.2 RandomAccessFile类 209
7.3 字节流 212
7.3.1 InputStream和OutputStream类 212
7.3.2 FileInputStream和FileOutputStream类 214
7.3.3 ByteArrayInputStream和ByteArrayOutputStream类 216
7.3.4 过滤流 218
7.3.5 SequenceInputStream类 224
7.4 字符流 225
7.4.1 Reader和Writer类 225
7.4.2 FileReader与FileWriter类 226
7.4.3 CharArrayReader和CharArrayWriter类 228
7.4.4 缓冲字符流 229
7.4.5 PrintWriter类 232
7.5 序列化 233
7.5.1 Serializable接口 233
7.5.2 ObjectInputStream和ObjectOutputStream类 233
7.5.3 序列化示例 234
7.6 本章小结 236
7.7 思考和练习 236
第8章 多线程编程 238
8.1 Java线程模型 238
8.1.1 进程和线程 238
8.1.2 Java中的线程 239
8.1.3 主线程 241
8.2 创建线程 242
8.2.1 实现Runnable接口 242
8.2.2 扩展Thread类 244
8.3 同步与线程间通信 246
8.3.1 同步 247
8.3.2 线程间通信 249
8.4 获取线程状态 251
8.5 本章小结 252
8.6 思考和练习 253
第9章 传统GUI编程 254
9.1 GUI 254
9.1.1 GUI概述 254
9.1.2 Java中的GUI框架 255
9.2 事件处理 256
9.2.1 事件处理模型 256
9.2.2 事件类 257
9.2.3 事件监听接口 260
9.2.4 适配器类 264
9.3 使用AWT创建GUI程序 264
9.3.1 容器组件 265
9.3.2 常用组件 267
9.3.3 布局管理器 272
9.4 使用Swing创建GUI程序 279
9.4.1 组件与容器 279
9.4.2 常用组件简介 280
9.4.3 菜单与工具栏 292
9.5 本章小结 296
9.6 思考和练习 296
第10章 JavaFX GUI编程 298
10.1 JavaFX概述 298
10.1.1 JavaFX包 298
10.1.2 JavaFX应用程序的框架 299
10.1.3 JavaFX的事件处理 300
10.1.4 一个简单的JavaFX应用程序 301
10.2 JavaFX控件 303
10.2.1 单选按钮 303
10.2.2 复选框 305
10.2.3 ScrollPane 305
10.2.4 日期选择控件 308
10.2.5 添加工具提示 310
10.3 效果和变换 311
10.3.1 效果 311
10.3.2 变换 311
10.3.3 应用效果和变换 312
10.4 JavaFX菜单 314
10.4.1 概述 314
10.4.2 主菜单 315
10.4.3 快捷菜单 317
10.4.4 工具栏 318
10.4.5 应用案例 318
10.5 本章小结 321
10.6 思考和练习 321
第11章 Java绘图与动画 323
11.1 传统的Java绘图 323
11.1.1 Java绘图概述 323
11.1.2 绘制简单图形 326
11.1.3 Java2D绘图 328
11.1.4 设置绘图模式 330
11.1.5 显示文本 331
11.2 显示图像与动画 332
11.2.1 显示图像 332
11.2.2 用多线程实现动画 335
11.3 JavaFX绘图与动画 337
11.3.1 绘制基本图形 337
11.3.2 JavaFX动画 339
11.4 本章小结 344
11.5 思考和练习 344
参考文献 345