第一篇 Java基本语法 3
第1章 Java概述 3
1.1 Java的发展史 3
1.1.1 Java语言的诞生 3
1.1.2 Java语言的发展 4
1.1.3 Java语言的用途 5
1.2 Java的特点 6
1.3 Java平台 7
1.3.1 JDK和JRE 7
1.3.2 Java虚拟机 8
1.3.3 垃圾收集器 8
1.4 JDK的安装 9
1.4.1 下载与安装JDK 9
1.4.2 JDK环境的配置与HelloWorld测试 11
1.5 集成开发环境Eclipse 14
1.5.1 Eclipse的下载与安装 14
1.5.2 使用Eclipse编写第一个Java程序 15
1.6 本章小结 16
1.7 习题 17
第2章 Java语言基础 18
2.1 案例:华氏温度到摄氏温度转换的实现 18
2.2 标识符与关键字 19
2.2.1 标识符 19
2.2.2 关键字 20
2.3 常量、变量、基本数据类型 20
2.3.1 常量和变量 20
2.3.2 基本数据类型 22
2.4 数据类型转换 24
2.5 数据的标准输入和输出 25
2.6 运算符和表达式 27
2.7 本章小结 33
2.8 习题 33
第3章 程序流程控制 35
3.1 案例:摄氏温度到华氏温度对照表的实现 35
3.2 顺序结构 36
3.3 分支语句 37
3.3.1 if…else语句 38
3.3.2 switch语句 43
3.4 循环语句 47
3.4.1 for循环 47
3.4.2 while循环 51
3.4.3 do…while循环 52
3.4.4 for…each循环 53
3.5 控制语句 54
3.6 数组 56
3.6.1 数组的创建和使用 56
3.6.2 基本数据类型数组 58
3.6.3 数组的操作 59
3.6.4 数组的综合案例 61
3.7 本章小结 63
3.8 习题 63
第4章 类与对象 67
4.1 案例:学生类的定义和使用 67
4.1.1 创建学生类程序的步骤 67
4.1.2 程序解析 71
4.2 面向对象程序设计 71
4.2.1 面向对象程序设计概述 72
4.2.2 面向对象程序设计的特点 72
4.2.3 过程与对象 73
4.2.4 Java程序的基本结构 75
4.3 定义类 75
4.4 构造方法与对象的创建 77
4.5 类变量和实例变量 81
4.6 类方法和实例方法 83
4.7 包 88
4.7.1 包的概念 88
4.7.2 使用package定义包 88
4.7.3 使用import引入包 89
4.7.4 系统包 90
4.8 封装性与访问控制符 91
4.9 对象数组 93
4.10 对象的组合 94
4.11 基本类型的封装类 95
4.11.1 封装类 96
4.11.2 利用封装类进行数据类型的转换 96
4.11.3 字符的处理 97
4.12 本章小结 98
4.13 习题 99
第5章 面向对象高级特性 100
5.1 案例:完善学生类 100
5.1.1 完善学生类的步骤 100
5.1.2 程序解析 102
5.2 继承 103
5.2.1 创建子类 104
5.2.2 子类的继承性 104
5.2.3 子类对象的内存构造 107
5.2.4 父类与子类的同名成员 107
5.3 关键字this和super 110
5.3.1 在构造方法和实例方法中使用this 110
5.3.2 this表示当前对象 112
5.3.3 使用super调用父类中指定的构造方法 113
5.3.4 使用super调用被隐藏的成员 114
5.4 final关键字 115
5.4.1 final修饰变量 115
5.4.2 final方法 117
5.4.3 final修饰类 118
5.5 转型与多态 118
5.6 抽象类和接口 121
5.6.1 抽象类 122
5.6.2 接口 124
5.6.3 接口回调 126
5.6.4 接口和抽象类 128
5.7 内部类 128
5.8 匿名对象和类 130
5.8.1 匿名对象 130
5.8.2 类的匿名类 131
5.8.3 接口的匿名类 132
5.9 异常类 132
5.9.1 异常处理机制 133
5.9.2 自定义异常 135
5.10 泛型类 137
5.10.1 使用泛型 138
5.10.2 定义泛型接口 138
5.10.3 定义泛型类 139
5.11 本章小结 140
5.12 习题 141
第6章 OOP程序设计的基本原则 142
6.1 概述 142
6.2 对象的抽象 142
6.3 单一职责原则 146
6.4 迪米特原则 147
6.5 接口隔离原则 148
6.6 开闭原则 150
6.7 里氏替换原则 151
6.8 合成/聚合复用原则 152
6.9 本章小结 153
6.10 习题 154
第7章 常用类 155
7.1 案例:简易字符串编辑器 155
7.1.1 案例实现 155
7.1.2 程序解析 160
7.2 String类 160
7.2.1 创建String字符串 160
7.2.2 String类的常用操作及方法 161
7.3 StringBuffer类 166
7.3.1 创建StringBuffer类对象 166
7.3.2 StringBuffer类的常用方法 167
7.4 String类与StringBuffer类的比较 169
7.5 StringTokenizer类 170
7.5.1 StringTokenizer类对象的创建 171
7.5.2 StringTokenizer类的常用方法 171
7.6 日期类 172
7.6.1 Date类 172
7.6.2 Calendar类 175
7.7 本章小结 177
7.8 习题 180
第二篇 图形界面设计与I/O处理 187
第8章 图形界面设计 187
8.1 案例:简易文本编辑器的制作 187
8.1.1 案例实现 187
8.1.2 程序解析 192
8.2 Swing基础 193
8.2.1 Swing概述 193
8.2.2 Swing容器与组件 193
8.2.3 Java事件处理 196
8.3 Swing常用组件 205
8.3.1 按钮和标签 205
8.3.2 单选按钮和复选框 206
8.3.3 文本框和文本区 211
8.3.4 树(JTree) 216
8.3.5 计时器(Timer) 221
8.3.6 对话框 223
8.4 事件 231
8.4.1 窗体事件 232
8.4.2 鼠标事件 233
8.4.3 键盘事件 236
8.5 布局管理器 238
8.5.1 常见布局 238
8.5.2 null布局 245
8.6 本章小结 246
8.7 习题 247
第9章 Java输入和输出 249
9.1 案例:完善文本编辑器 249
9.2 文件操作 258
9.2.1 File类 258
9.2.2 File类的方法 258
9.3 字节流 261
9.3.1 流概述 261
9.3.2 InputStream和OutputStream 262
9.3.3 FileInputStream和FileOutputStream 263
9.3.4 BufferedInputStream和BufferedOutputStream 269
9.3.5 DataInputStream和DataOutputStream 274
9.3.6 ObjectInputStream和ObjectOutputStream 276
9.4 字符流 277
9.4.1 Reader和Writer 278
9.4.2 FileReader和FileWriter 280
9.4.3 BufferedReader和BufferedWriter 286
9.5 本章小结 292
9.6 习题 292
第三篇 Java多线程和网络 297
第10章 多线程 297
10.1 案例:火车卖票多线程程序 297
10.2 线程和线程的创建 299
10.2.1 线程概述 299
10.2.2 使用Thread类创建线程类 300
10.2.3 使用Runnable接口创建线程类 302
10.2.4 使用Callable和Future接口创建线程 304
10.3 线程的生命周期 306
10.4 线程的常用控制方法 307
10.4.1 join方法 307
10.4.2 守护线程 308
10.4.3 线程的优先级 309
10.5 线程同步 310
10.5.1 线程安全问题 310
10.5.2 同步代码块 311
10.5.3 同步方法 313
10.5.4 同步锁 315
10.6 线程通信 317
10.6.1 使用wait()、notify()、notifyAll()控制线程通信 317
10.6.2 使用Condition控制线程通信 319
10.7 本章小结 320
10.8 习题 321
第11章 网络编程基础与实践 323
11.1 案例:Echo程序 323
11.2 使用Java获取网上资源 327
11.2.1 域名和IP地址 327
11.2.2 获取HTML文件 330
11.2.3 处理HTML文件 332
11.2.4 简易浏览器 336
11.3 C/S模型的Java实现 345
11.3.1 Socket模型 347
11.3.2 C/S模型的HelloWorld实现 349
11.3.3 Echo客户端的图形化实现 351
11.3.4 Echo服务端的多线程实现 354
11.4 本章小结 357
11.5 习题 358
第四篇 数据库编程 361
第12章 Java数据库 361
12.1 案例:学生用户登录及学生表管理 361
12.2 JDBC简介 366
12.2.1 JDBC模型 366
12.2.2 JDBC驱动程序 367
12.3 JDBC的API接口 367
12.3.1 DriverManager类 368
12.3.2 Driver接口 368
12.3.3 Connection接口 369
12.3.4 Statement接口 370
12.3.5 PreparedStatement接口 370
12.3.6 ResultSet接口 372
12.4 JDBC连接数据库 373
12.4.1 加载JDBC驱动程序 373
12.4.2 建立数据库连接 374
12.5 MySQL数据库 375
12.5.1 安装MySQL数据库 376
12.5.2 使用MySQL数据库 380
12.6 Java的MySQL数据库编程 382
12.6.1 连接数据库 383
12.6.2 查询数据库 385
12.6.3 数据库的插入 387
12.6.4 数据库的修改 390
12.6.5 数据库的删除 392
12.6.6 使用PreparedStatement实现预处理 393
12.7 MySQL数据库的事务处理 395
12.7.1 事务简介 395
12.7.2 JDBC中的事务处理 396
12.7.3 事务处理案例 397
12.8 学生用户登录及学生表管理的具体实现 400
12.8.1 数据库设计 400
12.8.2 下载并加载MySQL数据库驱动 402
12.8.3 数据库的连接和操作 403
12.8.4 登录和登录检测 408
12.8.5 学生信息管理主窗体 411
12.8.6 学生成绩统计 413
12.8.7 学生信息的显示、删除和修改 416
12.8.8 添加学生 424
12.8.9 学生信息查询 428
12.9 本章小结 432
12.10 习题 433
参考文献 434