第1章 Java概述 1
1.1 Java语言简介 1
1.1.1 Java语言的产生 1
1.1.2 Java语言的发展历程 1
1.1.3 Java平台及其主要应用方 2
1.2 Java语言的特点 3
1.3 Java虚拟机运行机制 4
1.4 Java开发环境的搭建 5
1.4.1 JDK的下载 5
1.4.2 JDK的安装 6
1.4.3 JDK的环境配置 9
1.4.4 Eclipse IDE开发环境的配置 11
1.5 Java程序的开发过程 12
1.5.1 利用JDK开发Java应用程序 12
1.5.2 利用Eclipse开发Java应用程序 14
1.6 小结 19
习题1 19
实验指导1 20
第2章 Java程序设计基础 22
2.1 标识符和关键字 22
2.1.1 标识符 22
2.1.2 关键字 23
2.1.3 分隔符 23
2.2 常量和变量 24
2.2.1 常量 24
2.2.2 变量 24
2.3 数据类型 26
2.3.1 基本数据类型 26
2.3.2 引用数据类型 29
2.3.3 基本数据类型转换 29
2.4 运算符和表达式 30
2.4.1 算术运算符和算术表达式 31
2.4.2 关系运算符和关系表达式 32
2.4.3 逻辑运算符和逻辑表达式 33
2.4.4 条件运算符和条件表达式 33
2.4.5 赋值运算符和赋值表达式 34
2.4.6 位运算符和位运算表达式 35
2.4.7 其他运算符 37
2.4.8 运算符优先级和结合性 37
2.5 基本类型数据的输入和输出 38
2.5.1 从命令行输入输出数据 38
2.5.2 使用Swing对话框实现数据的输入输出 40
2.6 程序流程控制语句 42
2.6.1 选择结构语句 42
2.6.2 循环结构语句 47
2.6.3 流程跳转语句 51
2.7 数组 54
2.7.1 一维数组 55
2.7.2 多维数组 57
2.8 小结 59
习题2 60
实验指导2 62
第3章 面向对象基础 63
3.1 面向对象思想 63
3.1.1 面向对象简介 63
3.1.2 面向对象的基本概念 64
3.1.3 面向对象的特征 65
3.2 类与对象 66
3.2.1 类的定义 66
3.2.2 对象的创建 68
3.2.3 类的构造方法 72
3.2.4 this关键字 75
3.2.5 方法重载 76
3.2.6 参数传递 77
3.3 包 78
3.4 访问权限 79
3.5 static成员 80
3.6 案例分析与实现 82
3.7 小结 89
习题3 89
实验指导3 94
第4章 类的继承与多态 95
4.1 类的继承 95
4.2 类的多态 102
4.3 final关键字 103
4.4 案例分析与实现(续1) 104
4.5 小结 115
习题4 115
实验指导4 117
第5章 抽象类、接口和内部类 119
5.1 抽象类 119
5.1.1 抽象类的定义 119
5.1.2 抽象类的使用 120
5.2 接口 122
5.2.1 接口的定义 122
5.2.2 接口的实现 123
5.2.3 接口的继承 124
5.2.4 抽象类与接口的区别 124
5.3 内部类 125
5.3.1 成员内部类 125
5.3.2 局部内部类 127
5.3.3 静态内部类 128
5.3.4 匿名内部类 129
5.4 案例分析与实现(续2) 130
5.5 小结 134
习题5 134
实验指导5 136
第6章 Java常用类 137
6.1 Java API简介 137
6.2 Object类 138
6.3 字符串处理类 141
6.3.1 String类 141
6.3.2 StringBuffer类 146
6.3.3 StringTokenizer类 149
6.4 基本数据类型包装类 150
6.5 Math类和Random类 153
6.5.1 Math类 153
6.5.2 Random类 155
6.6 日期处理类 158
6.6.1 Date类 158
6.6.2 Calendar类 163
6.7 Arrays类 166
6.8 Class类 168
6.9 案例分析与实现(续3) 169
6.10 小结 172
习题6 172
实验指导6 174
第7章 异常处理 176
7.1 异常处理基础 176
7.1.1 异常概述 176
7.1.2 异常类的层次 177
7.1.3 异常分类 177
7.2 异常处理 178
7.2.1 异常处理机制 178
7.2.2 捕获异常 179
7.2.3 声明抛出异常 183
7.3 自定义异常类 185
7.4 案例分析与实现(续4) 187
7.5 小结 188
习题7 189
实验指导7 191
第8章 泛型和集合框架 193
8.1 泛型 193
8.2 集合框架简介 196
8.3 集合常用实现类的使用 201
8.3.1 ArrayList类 201
8.3.2 LinkedList类 203
8.3.3 HashSet类 205
8.3.4 TreeSet类 206
8.3.5 HashMap类 209
8.3.6 TreeMap类 210
8.4 简化的for语句 211
8.5 案例分析与实现(续5) 212
8.6 小结 215
习题8 215
实验指导8 217
第9章 文件与数据流 218
9.1 文件 218
9.1.1 文件概述 218
9.1.2 File类 218
9.2 I/O流概述 224
9.3 字节流 225
9.3.1 字节输入流 225
9.3.2 字节输出流 228
9.3.3 字节过滤流 230
9.4 字符流 232
9.4.1 字符输入流 232
9.4.2 字符输出流 234
9.4.3 字符缓冲流 236
9.4.4 字节流与字符流的转换 238
9.5 文件的随机访问和标准输入输出 240
9.5.1 文件的随机访问 240
9.5.2 标准输入输出 242
9.6 对象流 242
9.6.1 对象序列化 242
9.6.2 对象反序列化 244
9.7 案例分析与实现(续6) 246
9.8 小结 250
习题9 250
实验指导9 253
第10章 Java数据库编程 254
10.1 JDBC概述 254
10.1.1 什么是JDBC 254
10.1.2 JDBC驱动类型 255
10.1.3 JDBC工作原理 255
10.2 访问数据库 256
10.2.1 访问数据库的准备工作 256
10.2.2 数据库访问步骤 257
10.3 数据库的基本操作 262
10.3.1 数据表结构的操作 262
10.3.2 数据表记录的操作 263
10.4 使用存储过程 265
10.5 数据库元数据操作 267
10.5.1 元数据概述 267
10.5.2 数据库元数据 267
10.5.3 结果集元数据 268
10.6 事务操作 269
10.6.1 事务概述 269
10.6.2 JDBC事务处理步骤 270
10.6.3 保存点操作 272
10.7 案例分析与实现(续7) 273
10.8 小结 289
习题10 290
实验指导10 291
第11章 Swing图形用户界面编程 292
11.1 Java Swing概述 292
11.1.1 Swing简介 292
11.1.2 Swing的结构 293
11.1.3 图形用户界面有关的术语 294
11.1.4 使用Swing进行程序设计的步骤 294
11.2 常用容器 295
11.2.1 顶层容器 295
11.2.2 中间容器 297
11.3 布局管理器 299
11.3.1 FlowLayout布局管理器 299
11.3.2 BorderLayout布局管理器 301
11.3.3 GridLayout布局管理器 302
11.3.4 CardLayout布局管理器 303
11.3.5 自定义布局管理器 305
11.4 常用组件 306
11.4.1 标签 309
11.4.2 按钮 309
11.4.3 复选框 310
11.4.4 单选按钮 311
11.4.5 列表框和组合框 311
11.4.6 文本组件 313
11.5 事件处理 316
11.5.1 Java事件处理机制 316
11.5.2 事件类型 317
11.5.3 监听接口 318
11.5.4 事件处理步骤 319
11.5.5 ActionEvent事件处理 320
11.5.6 ListSelectionEvent事件和ItemEvent事件的处理 323
11.5.7 键盘事件处理 325
11.5.8 鼠标事件处理 327
11.5.9 适配器 328
11.6 菜单和工具栏 330
11.6.1 菜单 330
11.6.2 工具栏 335
11.7 对话框 336
11.7.1 标准对话框 336
11.7.2 “颜色”对话框 339
11.7.3 “文件”对话框 340
11.7.4 “自定义”对话框 344
11.8 表格组件的使用 344
11.8.1 创建表格对象 345
11.8.2 表格对象的操作 345
11.9 案例分析与实现(续8) 349
11.10 小结 367
习题11 367
实验指导11 369
第12章 多线程 370
12.1 进程和线程 370
12.1.1 程序、进程与线程 370
12.1.2 多线程的优缺点 372
12.2 线程的创建与启动 372
12.2.1 Thread类简介 373
12.2.2 通过继承Thread类创建线程 374
12.2.3 通过实现Runnable接口创建线程 375
12.2.4 两种创建线程方法的比较 376
12.2.5 线程操作的几个常用方法 377
12.3 线程的状态与生命周期 379
12.4 线程的调度和优先级 381
12.4.1 线程的优先级 381
12.4.2 线程的调度 381
12.5 线程同步 382
12.5.1 多个线程访问同一资源带来的问题 382
12.5.2 线程同步机制 383
12.6 线程通信 385
12.7 线程死锁 388
12.8 线程联合 390
12.9 计时器线程 392
12.10 守护线程 394
12.11 小结 395
习题12 395
实验指导12 398
第13章 Java网络编程 399
13.1 网络编程基础 399
13.1.1 网络类型 399
13.1.2 TCP/IP 400
13.1.3 网络地址 400
13.2 网络API的使用 401
13.2.1 URL类 401
13.2.2 InetAddress类 405
13.3 基于TCP的Socket网络编程 407
13.3.1 Java网络编程概述 407
13.3.2 基于TCP的Socket网络编程原理 408
13.3.3 基于TCP的Socket网络编程实现 409
13.4 小结 418
习题13 418
实验指导13 419