第1章 初识Java 1
1.1 Java的诞生 1
1.2 Java的平台无关性 2
1.3 安装JDK 3
1.3.1 三种平台简介 3
1.3.2 安装Java SE平台 4
1.4 Java程序的开发步骤 5
1.5 一个简单的Java应用程序 6
1.5.1 编写源文件 6
1.5.2 编译 7
1.5.3 运行 8
1.6 Java的语言特点与地位 9
1.6.1 Java语言的特点 9
1.6.2 Java语言的地位 9
1.7 小结 10
习题1 10
第2章 基本数据类型与数组 11
2.1 标识符与关键字 11
2.1.1 标识符 11
2.1.2 Unicode字符集 12
2.1.3 关键字 12
2.2 基本数据类型 12
2.2.1 逻辑类型 12
2.2.2 整数类型 13
2.2.3 字符类型 13
2.2.4 浮点类型 14
2.3 类型转换运算 15
2.4 输入/输出数据 17
2.4.1 输入基本型数据 17
2.4.2 输出基本型数据 18
2.5 数组 18
2.5.1 声明数组 19
2.5.2 为数组分配元素 19
2.5.3 数组元素的使用 20
2.5.4 length的使用 21
2.5.5 数组的初始化 21
2.5.6 数组的引用 21
2.6 枚举类型 23
2.7 小结 23
习题2 24
第3章 运算符、表达式和语句 26
3.1 运算符与表达式 26
3.1.1 算术运算符与算术表达式 26
3.1.2 自增、自减运算符 26
3.1.3 算术混合运算的精度 27
3.1.4 关系运算符与关系表达式 27
3.1.5 逻辑运算符与逻辑表达式 28
3.1.6 赋值运算符与赋值表达式 28
3.1.7 位运算符 29
3.1.8 instanceof运算符 30
3.1.9 运算符综述 30
3.2 语句概述 31
3.3 if条件分支语句 32
3.3.1 if语句 32
3.3.2 if-else语句 33
3.3.3 if-else if-else语句 34
3.4 switch开关语句 35
3.5 循环语句 36
3.5.1 for循环语句 36
3.5.2 while循环语句 37
3.5.3 do-while循环语句 38
3.6 break和continue语句 38
3.7 for语句与数组 39
3.8 枚举类型与for、switch语句 40
3.9 小结 41
习题3 42
第4章 类与对象 43
4.1 封装 43
4.1.1 一个简单的问题 43
4.1.2 简单的Circle类 44
4.1.3 使用Circle类创建对象 44
4.2 类 45
4.2.1 类声明 46
4.2.2 类体 46
4.2.3 成员变量 47
4.2.4 方法 48
4.2.5 需要注意的问题 49
4.2.6 类的UML类图 50
4.2.7 类与Java应用程序的基本结构 50
4.3 构造方法与对象的创建 52
4.3.1 构造方法 52
4.3.2 创建对象 53
4.3.3 使用对象 55
4.3.4 对象的引用和实体 55
4.4 参数传值 57
4.4.1 传值机制 58
4.4.2 基本数据类型参数的传值 58
4.4.3 引用类型参数的传值 58
4.5 对象的组合 59
4.5.1 圆锥体 59
4.5.2 关联关系和依赖关系的UML图 61
4.6 实例成员与类成员 62
4.6.1 实例变量和类变量的声明 62
4.6.2 实例变量和类变量的区别 62
4.6.3 实例方法和类方法的定义 63
4.6.4 实例方法和类方法的区别 64
4.7 方法重载 64
4.8 this关键字 65
4.9 包 66
4.9.1 包语句 66
4.9.2 有包名的类的存储目录 66
4.9.3 运行有包名的主类 67
4.10 import语句 68
4.10.1 引入类库中的类 68
4.10.2 引入自定义包中的类 70
4.10.3 使用无包名的类 71
4.11 访问权限 71
4.11.1 何谓访问权限 71
4.11.2 私有变量和私有方法 71
4.11.3 共有变量和共有方法 73
4.11.4 友好变量和友好方法 73
4.11.5 受保护的成员变量和方法 74
4.11.6 public类与友好类 74
4.12 基本类型的类包装 75
4.12.1 Double和Float类 75
4.12.2 Byte、Short、Integer、Long类 75
4.12.3 Character类 76
4.13 反编译 76
4.14 小结 76
习题4 76
第5章 子类与继承 78
5.1 子类与父类 78
5.2 子类的继承性 79
5.2.1 子类和父类在同一个包中的继承性 79
5.2.2 子类和父类不在同一个包中的继承性 81
5.2.3 继承关系(Generalization)的UML图 81
5.3 成员变量的隐藏和方法重写 82
5.3.1 成员变量的隐藏 82
5.3.2 方法重写(Override) 83
5.4 super关键字 85
5.4.1 用super操作被隐藏的成员变量和方法 85
5.4.2 使用super调用父类的构造方法 86
5.5 final关键字 87
5.5.1 final类 87
5.5.2 final方法 88
5.5.3 常量 88
5.6 对象的上转型对象 88
5.7 继承与多态 90
5.8 abstract类和abstract方法 91
5.9 面向抽象编程 92
5.10 开-闭原则 95
5.11 小结 98
习题5 98
第6章 接口与多态 100
6.1 接口 100
6.1.1 接口的声明与使用 100
6.1.2 理解接口 103
6.1.3 接口的UML图 103
6.2 接口回调 104
6.2.1 接口变量与回调机制 104
6.2.2 接口与多态 106
6.2.3 abstract类与接口的比较 107
6.3 面向接口编程 107
6.4 小结 110
习题6 110
第7章 内部类与异常类 112
7.1 内部类 112
7.2 匿名类 114
7.2.1 和子类有关的匿名类 114
7.2.2 和接口有关的匿名类 115
7.3 异常类 117
7.3.1 try~catch语句 117
7.3.2 自定义异常类 118
7.3.3 finally子语句 120
7.4 小结 121
习题7 122
第8章 常用实用类 124
8.1 String类 124
8.1.1 构造字符串对象 124
8.1.2 String类的常用方法 125
8.1.3 字符串与基本数据的相互转化 129
8.1.4 对象的字符串表示 130
8.1.5 字符串与字符、字节数组 131
8.1.6 正则表达式及字符串的替换与分解 132
8.2 StringTokenizer类 135
8.3 Scanner类 137
8.4 Date与Calendar类 139
8.4.1 Date类 139
8.4.2 Calendar类 139
8.5 Math类 142
8.6 StringBuffer类 143
8.6.1 StringBuffer对象的创建 143
8.6.2 StringBuffer类的常用方法 144
8.7 System类 145
8.8 小结 146
习题8 146
第9章 输入/输出流 148
9.1 文件 149
9.1.1 文件的属性 149
9.1.2 目录 149
9.1.3 文件的创建与删除 150
9.1.4 运行可执行文件 151
9.2 文件字节流 152
9.2.1 FileInputStream类 152
9.2.2 FileOutputStream类 153
9.3 文件字符流 154
9.3.1 FileReader类 154
9.3.2 FileWriter类 155
9.4 缓冲流 156
9.4.1 BufferedReader类 156
9.4.2 BufferedWriter类 157
9.4.3 标准化考试 158
9.5 数据流 159
9.6 对象流 160
9.7 随机读写流 162
9.8 使用Scanner解析文件 163
9.8.1 使用默认分隔标记解析文件 164
9.8.2 使用正则表达式作为分隔标记解析文件 165
9.8.3 单词记忆训练 166
9.9 小结 167
习题9 168
第10章 JDBC数据库操作 169
10.1 Microsoft Access数据库管理系统 169
10.1.1 建立数据库 169
10.1.2 创建表 170
10.2 JDBC 170
10.3 连接数据库 171
10.3.1 连接方式的选择 171
10.3.2 建立JDBC-ODBC桥接器 172
10.3.3 ODBC数据源 172
10.3.4 建立连接 173
10.4 查询操作 173
10.4.1 顺序查询 174
10.4.2 控制游标 175
10.4.3 条件查询 177
10.4.4 排序查询 179
10.4.5 模糊查询 180
10.5 更新、添加与删除操作 180
10.6 事务 182
10.6.1 事务及处理 182
10.6.2 JDBC事务处理步骤 182
10.7 批处理 184
10.8 标准化考试 185
10.9 小结 188
习题10 189
第11章 组件及事件处理 190
11.1 Java Swing概述 190
11.2 窗口 191
11.2.1 JFrame常用方法 192
11.2.2 菜单条、菜单、菜单项 192
11.3 常用组件与布局 194
11.3.1 常用组件 194
11.3.2 常用容器 196
11.3.3 常用布局 198
11.4 处理事件 201
11.4.1 事件处理模式 201
11.4.2 ActionEvent事件 202
11.4.3 ItemEvent事件 206
11.4.4 DocumentEvent事件 208
11.4.5 MouseEvent事件 210
11.4.6 焦点事件 215
11.4.7 键盘事件 215
11.4.8 用匿名类实例或窗口做监视器 218
11.4.9 事件总结 220
11.5 使用MVC结构 220
11.6 对话框 223
11.6.1 消息对话框 223
11.6.2 输入对话框 225
11.6.3 确认对话框 226
11.6.4 颜色对话框 228
11.6.5 文件对话框 229
11.6.6 自定义对话框 231
11.7 发布GUI程序 233
11.8 小结 234
习题11 234
第12章 图形、图像与音频 235
12.1 绘制基本图形 235
12.2 变换图形 238
12.3 图形的布尔运算 239
12.4 清除 240
12.5 绘制图像 241
12.6 播放音频 243
12.7 小结 245
习题12 246
第13章 Java多线程机制 247
13.1 进程与线程 247
13.1.1 操作系统与进程 247
13.1.2 进程与线程 247
13.2 Java中的线程 248
13.2.1 Java的多线程机制 248
13.2.2 主线程(main线程) 248
13.2.3 线程的状态与生命周期 249
13.2.4 线程调度与优先级 252
13.3 Thread类与线程的创建 253
13.3.1 使用Thread的子类 253
13.3.2 使用Thread类 253
13.3.3 目标对象与线程的关系 256
13.3.4 关于run方法启动的次数 257
13.4 线程的常用方法 258
13.5 线程同步 261
13.6 协调同步的线程 263
13.7 守护线程 265
13.8 小结 266
习题13 267
第14章 Java网络编程 269
14.1 URL类 269
14.1.1 URL的构造方法 269
14.1.2 读取URL中的资源 270
14.2 InetAddress类 271
14.2.1 地址的表示 271
14.2.2 获取地址 272
14.3 套接字 273
14.3.1 套接字 273
14.3.2 客户端套接字 273
14.3.3 ServerSocket对象与服务器端套接字 274
14.3.4 使用多线程技术 276
14.4 UDP数据包 280
14.4.1 发送数据包 280
14.4.2 接收数据包 281
14.5 广播数据包 284
14.6 小结 287
习题14 287