项目1 Java语言概述 1
任务1 Java发展史与特点 1
1.1.1 Java的起源与发展 1
1.1.2 Java的特点 3
习题 4
任务2 Java程序工作原理 5
1.2.1 Java虚拟机 5
1.2.2 垃圾回收机制 6
习题 6
任务3 面向对象基础 6
1.3.1 什么是面向对象程序设计 6
1.3.2 面向对象的基本概念 7
1.3.3 面向对象编程的特征 10
习题 11
任务4 Java的开发和运行环境 11
1.4.1 JDK简介 11
1.4.2 JDK的安装 12
1.4.3 JDK配置 12
1.4.4 第一个Java程序 14
习题 15
项目总结 15
项目2 Java语言基础 16
任务1 Java语言的基本组成 16
2.1.1 标识符 16
2.1.2 关键字 17
2.1.3 变量和常量 17
2.1.4 运算符 18
2.1.5 分隔符 18
习题 19
任务2 Java基本数据类型 20
2.2.1 Java数据类型概述 20
2.2.2 整数类型 20
2.2.3 浮点类型 21
2.2.4 逻辑类型 21
2.2.5 字符类型 22
习题 22
任务3 Java运算符与表达式 24
2.3.1 算术运算符 24
2.3.2 赋值运算符与赋值表达式 25
2.3.3 关系运算符 25
2.3.4 逻辑运算符 26
2.3.5 位运算符 27
2.3.6 条件运算符 27
2.3.7 其他运算符 28
2.3.8 运算符的优先级 28
习题 29
任务4 Java语句和方法 30
2.4.1 语句 30
2.4.2 方法 31
习题 35
任务5 控制语句 35
2.5.1 选择语句 36
2.5.2 循环语句 38
2.5.3 跳转语句 41
习题 43
任务6 数组 45
2.6.1 一维数组 45
2.6.2 二维数组 47
习题 50
项目总结 50
项目3 Java面向对象程序设计 51
任务1 类与对象 51
3.1.1 类 51
3.1.2 对象 54
3.1.3 静态成员 58
3.1.4 final、this和null 61
3.1.5 包 64
3.1.6 访问属性控制 67
习题 71
任务2 类的继承和多态 73
3.2.1 类的继承 73
3.2.2 多态 82
3.2.3 抽象类 86
习题 87
任务3 接口与内部类 88
3.3.1 接口 88
3.3.2 回调 94
3.3.3 内部类 96
习题 101
任务4 Java异常处理 102
3.4.1 异常概述 102
3.4.2 异常分类 103
3.4.3 异常处理机制 104
3.4.4 自定义异常 107
习题 108
项目总结 110
项目4 Java API常用类库 111
任务1 Object与System 111
4.1.1 Object类 111
4.1.2 System类 113
习题 115
任务2 String与StringBuffer 115
4.2.1 String类 116
4.2.2 StringBuffer类 122
习题 124
任务3 Java包装类 125
4.3.1 基本数据类型与包装类型的转换 125
4.3.2 字符串与数值类型的相互转换 127
4.3.3 包装类自动装箱和拆箱 128
习题 129
任务4 Java数字处理类 129
4.4.1 Math类 129
4.4.2 Random类 130
4.4.3 大数操作类 131
习题 134
任务5 Java日期类 135
4.5.1 Date类和SimpleDateFormat类 135
4.5.2 Calendar类 137
习题 139
任务6 正则表达式 140
习题 142
项目总结 143
项目5 Java泛型与集合框架 144
任务1 泛型 144
5.1.1 泛型类 144
5.1.2 泛型方法 145
5.1.3 泛型接口 146
习题 147
任务2 泛型集合类 147
5.2.1 Collection〈E〉接口 148
5.2.2 Set〈E〉接口 149
5.2.3 List〈E〉接口 149
5.2.4 Map〈K,E〉接口 152
习题 154
任务3 工具类 154
5.3.1 Collections工具类 155
5.3.2 Arrays工具类 156
习题 158
项目总结 159
项目6 Java的I/O流和文件 160
任务1 I/O流类简介 160
6.1.1 流的基本概念 160
6.1.2 常用输入输出类 161
习题 161
任务2 File类 162
6.2.1 文件对象创建 162
6.2.2 文件和目录属性 163
6.2.3 文件和目录操作 164
6.2.4 可执行文件运行 166
习题 167
任务3 字节流与字符流 168
6.3.1 字节流 168
6.3.2 字符流 171
习题 174
任务4 随机访问流 175
6.4.1 RandomAccessFile类 175
6.4.2 随机读写应用 176
习题 177
任务5 其他流 178
6.5.1 缓冲流 178
6.5.2 数据流 180
6.5.3 字节流转换为字符流 181
习题 182
项目总结 183
项目7 图形用户界面设计 184
任务1 GUI简介 184
7.1.1 AWT简介 184
7.1.2 Swing简介 185
7.1.3 AWT和Swing的区别 185
习题 186
任务2 AWT组件 186
7.2.1 AWT概述 186
7.2.2 AWT常用组件 187
习题 195
任务3 布局管理 196
7.3.1 边界布局(BorderLayout) 196
7.3.2 流式布局(FlowLayout) 197
7.3.3 网格布局(GridLayout) 198
7.3.4 卡片布局(CardLayout) 200
习题 202
任务4 事件处理 202
7.4.1 事件处理机制概述 202
7.4.2 事件类和监听器接口 204
7.4.3 处理ActionEvent事件 206
7.4.4 处理KeyEvent事件 208
7.4.5 处理MouseEvent事件 209
7.4.6 处理WindowEvent事件 212
7.4.7 事件适配器 213
7.4.8 用内部类实现监听接口 214
习题 215
任务5 Swing组件 216
7.5.1 Swing概述 216
7.5.2 容器组件 217
7.5.3 标签和按钮 219
7.5.4 文本编辑组件 220
7.5.5 选择组件 223
7.5.6 菜单 229
习题 231
项目总结 232
项目8 JDBC数据库编程 233
任务1 JDBC介绍 233
8.1.1 JDBC结构 233
8.1.2 JDBC API 234
8.1.3 JDBC编程步骤 235
习题 236
任务2 JDBC连接数据库 236
8.2.1 加载数据库驱动程序 236
8.2.2 连接数据库 237
习题 239
任务3 JDBC操作数据库 239
8.3.1 Statement接口 239
8.3.2 ResultSet接口 241
8.3.3 PreparedStatement接口 243
习题 245
项目总结 246
项目9 Java多线程 247
任务1 线程的基本概念 247
9.1.1 什么是进程和线程 247
9.1.2 多线程的优缺点 248
习题 249
任务2 线程的创建和启动 249
9.2.1 Thread类 249
9.2.2 Runnable接口 251
9.2.3 两种创建线程方法比较 253
习题 256
任务3 线程的生命周期 256
9.3.1 新建就绪状态 257
9.3.2 运行和阻塞状态 258
9.3.3 线程死亡 258
习题 259
任务4 控制线程 260
9.4.1 联合线程 260
9.4.2 守护线程 262
9.4.3 线程让步 263
习题 264
任务5 线程的同步 264
9.5.1 线程同步问题 264
9.5.2 对象锁的实现 265
9.5.3 wait()和notify() 266
习题 268
项目总结 268
项目10 Java网络编程 269
任务1 网络基础知识 269
10.1.1 TCP/IP基本概念 269
10.1.2 TCP与UDP传输协议 270
习题 271
任务2 URL类和InetAddress类 271
10.2.1 URL基础知识 271
10.2.2 URL类 272
10.2.3 URLConnection类 274
10.2.4 InetAddress类 276
习题 277
任务3 Socket通信 278
10.3.1 Socket通信的结构 278
10.3.2 服务器端套接字 279
10.3.3 客户端套接字 279
10.3.4 Socket TCP编程 280
10.3.5 Socket多线程编程 283
10.3.6 Socket UDP编程 286
习题 291
项目总结 292
参考文献 293