第1章 Java入门 1
1.1 Java语言的诞生与发展 1
1.2 Java语言简介 2
1.3 Java语言的特征 3
1.3.1 简单 3
1.3.2 面向对象 3
1.3.3 分布式 3
1.3.4 健壮性 4
1.3.5 安全 4
1.3.6 解释型 4
1.3.7 可移植 4
1.3.8 高性能 4
1.3.9 多线程 4
1.3.10 动态 5
1.4 Java程序的工作原理 5
1.5 Java应用程序 5
1.5.1 Application应用程序 6
1.5.2 Applet小应用程序 9
1.6 项目实训 12
1.6.1 项目目的 12
1.6.2 项目需求分析 12
1.6.3 项目实现 13
1.6.4 常见问题及解决方案 14
1.7 课外阅读——计算机语言的发展史 19
1.8 本章小结 22
1.9 习题 22
1.9.1 选择题 22
1.9.2 填空题 23
1.9.3 论述题 23
1.9.4 操作题 23
第2章 Java开发环境 25
2.1 JDK的安装和配置 25
2.1.1 JDK的简介与下载 25
2.1.2 JDK的安装和配置简介 25
2.2 NetBeans开发环境 30
2.2.1 NetBeans简介与下载 30
2.2.2 NetBeans的安装和使用 31
2.3 Eclipse开发环境 36
2.3.1 Eclipse简介与下载 37
2.3.2 Eclipse的使用 37
2.4 项目实训 43
2.4.1 项目目的 43
2.4.2 项目需求分析 43
2.4.3 项目实现 43
2.4.4 常见问题及解决方案 45
2.5 课外阅读——IBM公司的发展史 45
2.6 小结 52
2.7 习题 52
第3章 Java语言基础 53
3.1 Java程序的基本结构 53
3.2 标识符和关键字 55
3.2.1 标识符 56
3.2.2 关键字 56
3.3 分隔符 58
3.4 数据类型 59
3.4.1 基本数据类型 60
3.4.2 数据类型转换 62
3.5 常量和变量 64
3.5.1 常量 64
3.5.2 变量 65
3.6 运算符与表达式 66
3.6.1 运算符 66
3.6.2 表达式 70
3.7 项目实训 71
3.7.1 项目目的 71
3.7.2 项目需求分析 71
3.7.3 项目实现 72
3.7.4 常见问题及解决方案 73
3.8 课外阅读——冯·诺依曼 74
3.9 本章小结 76
3.10 习题 77
3.10.1 选择题 77
3.10.2 填空题 77
3.10.3 论述题 78
3.10.4 操作题 78
第4章 控制语句 79
4.1 顺序语句 79
4.2 选择语句 81
4.2.1 if语句 81
4.2.2 switch分支语句 85
4.3 循环语句 87
4.3.1 while语句 87
4.3.2 do-while语句 89
4.3.3 for语句 92
4.4 转移语句 95
4.4.1 break语句 95
4.4.2 continue语句 96
4.4.3 return语句 97
4.5 项目实训 98
4.5.1 项目目的 98
4.5.2 项目需求分析 98
4.5.3 项目实现 99
4.5.4 常见问题及解决方案 101
4.6 课外阅读——Sun公司的发展史 102
4.7 本章小结 106
4.8 习题 106
4.8.1 选择题 106
4.8.2 填空题 106
4.8.3 论述题 106
4.8.4 操作题 107
第5章 数组和字符串 108
5.1 数组 108
5.1.1 一维数组 108
5.1.2 二维数组 115
5.2 字符串 118
5.2.1 声明字符串变量 118
5.2.2 字符串的运算 119
5.2.3 String类的常用方法 120
5.3 项目实训 122
5.3.1 项目目的 122
5.3.2 项目需求分析 122
5.3.3 项目实现 123
5.3.4 常见问题及解决方案 125
5.4 课外阅读——苹果公司的发展史 126
5.5 本章小结 129
5.6 习题 129
5.6.1 选择题 129
5.6.2 填空题 129
5.6.3 论述题 129
5.6.4 操作题 130
第6章 类和对象 131
6.1 类和对象 131
6.1.1 类 131
6.1.2 对象 135
6.2 类的封装性 136
6.2.1 构造方法 136
6.2.2 成员方法 139
6.2.3 访问权限 140
6.2.4 this、static、final、instanceof 141
6.3 类的继承性 146
6.3.1 父类和子类 146
6.3.2 子类的声明与方法的覆盖 147
6.3.3 super 148
6.3.4 类的封装性、继承性程序应用 149
6.4 类的多态性 162
6.4.1 多态性的概念 162
6.4.2 方法的重载和覆盖 162
6.4.3 多态性程序应用 163
6.5 包 169
6.5.1 包的概念 169
6.5.2 包的创建和包对文件的管理 170
6.5.3 包的导入 170
6.6 抽象类与接口 171
6.6.1 抽象类 171
6.6.2 接口 172
6.7 内部类与匿名类 180
6.7.1 内部类 180
6.7.2 匿名类 181
6.8 项目实训 182
6.8.1 项目目的 182
6.8.2 项目需求分析 182
6.8.3 项目实现 182
6.8.4 常见问题及解决方案 184
6.9 课外阅读——面向对象简介 185
6.10 本章小结 188
6.11 习题 188
6.11.1 选择题 188
6.11.2 填空题 188
6.11.3 论述题 189
6.11.4 操作题 189
第7章 异常处理 190
7.1 Java异常处理的基本概念 190
7.1.1 错误与异常 191
7.1.2 错误和异常的分类 191
7.2 异常处理 193
7.2.1 捕获异常并处理 194
7.2.2 抛出异常 196
7.3 自定义异常类 198
7.4 项目实训 201
7.4.1 项目目的 201
7.4.2 项目需求分析 201
7.4.3 项目实现 202
7.4.4 常见问题及解决方案 202
7.5 课外阅读——HP公司的发展史 203
7.6 本章小结 208
7.7 习题 208
7.7.1 选择题 208
7.7.2 填空题 209
7.7.3 论述题 209
7.7.4 操作题 209
第8章 图形用户界面 210
8.1 Swing简介 210
8.2 Swing组件 211
8.2.1 Swing组件关系 211
8.2.2 JFrame和JLabel组件 212
8.2.3 JDialog和JOptionPane组件 216
8.2.4 JTextField和JPasswordField组件 219
8.2.5 JButton、JCheckBox和JRadioButton组件 221
8.2.6 JComboBox、JList、JTextArea和JScrollPane组件 223
8.2.7 JPanel和JSlider组件 224
8.3 布局管理器 226
8.3.1 布局管理器的概念 226
8.3.2 FlowLayout布局管理器 227
8.3.3 BorderLayout布局管理器 228
8.3.4 GridLayout布局管理器 230
8.3.5 BoxLayout布局管理器 231
8.3.6 CardLayout布局管理器 233
8.3.7 GroupLayout 234
8.4 事件处理 237
8.4.1 事件处理简介 238
8.4.2 事件与事件源 240
8.4.3 监听器的使用 241
8.4.4 事件处理 243
8.4.5 鼠标事件 245
8.4.6 键盘事件 247
8.5 高级组件 249
8.5.1 菜单 249
8.5.2 表格 256
8.5.3 JTree 263
8.6 项目实训 277
8.6.1 项目目的 277
8.6.2 项目需求分析 277
8.6.3 项目实现 277
8.6.4 常见问题及解决方案 283
8.7 课外阅读——图形用户界面的发展史 284
8.8 本章小结 285
8.9 习题 285
8.9.1 选择题 285
8.9.2 填空题 286
8.9.3 论述题 286
8.9.4 操作题 286
第9章 JDBC技术 287
9.1 JDBC简介 287
9.2 通过JDBC技术访问数据库 289
9.2.1 通过JDBC访问MySQL数据库 289
9.2.2 通过JDBC访问Microsoft SQL Server数据库 294
9.3 查询数据库 301
9.4 更新数据库 307
9.5 项目实训 308
9.5.1 项目目的 308
9.5.2 项目需求分析 308
9.5.3 项目实现 309
9.5.4 常见问题及解决方案 321
9.6 课外阅读——DBMS技术简介 322
9.7 本章小结 325
9.8 习题 325
9.8.1 选择题 325
9.8.2 填空题 325
9.8.3 论述题 325
9.8.4 操作题 325
第10章 IPTTM管理系统项目实训 326
10.1 项目需求说明 326
10.2 项目分析与设计 327
10.3 项目的数据库设计 327
10.4 项目的开发过程 330
10.4.1 项目的模块划分及其结构 330
10.4.2 项目的登录和注册功能设计与实现 331
10.4.3 项目主界面设计与实现 339
10.4.4 项目的用户管理功能设计与实现 342
10.4.5 项目的资费管理功能设计与实现 354
10.4.6 项目其他功能模块的设计与实现 363
10.5 课外阅读——企业管理系统 363
10.6 本章小结 364
10.7 习题 364
第11章 I/O流与文件 365
11.1 文件与流简介 365
11.1.1 文件简介 365
11.1.2 流简介 366
11.2 字节输入输出流 367
11.2.1 InputStream和FileInputStream 367
11.2.2 OutputStream和FileOutputStream 371
11.2.3 DataInputStream和DataOutputStream 374
11.2.4 ObjectInputStream和ObjectOutputStream 377
11.2.5 BufferedInputStream和BufferedOutputStream 379
11.2.6 标准的输入输出流 382
11.3 字符输入输出流 384
11.3.1 Reader和Writer 384
11.3.2 FileReader和FileWriter 386
11.3.3 BufferedReader和BufferedWriter 387
11.4 文件操作类 390
11.4.1 文件类 390
11.4.2 随机访问文件类 392
11.4.3 文件过滤器接口 394
11.4.4 文件对话框类 396
11.5 项目实训 398
11.5.1 项目目的 398
11.5.2 项目需求分析 398
11.5.3 项目实现 398
11.5.4 常见问题及解决方案 414
11.6 课外阅读——操作系统简介 414
11.7 本章小结 418
11.8 习题 419
11.8.1 选择题 419
11.8.2 填空题 419
11.8.3 论述题 419
11.8.4 操作题 419
第12章 多线程 420
12.1 多线程简介 420
12.1.1 什么是程序、进程和线程 420
12.1.2 使用线程的好处 422
12.2 线程的实现 422
12.2.1 继承Thread线程类 422
12.2.2 实现接口Runnable 425
12.2.3 Timer类和TimerTask类 428
12.3 线程的生命周期 429
12.3.1 线程的状态 429
12.3.2 线程的优先级 430
12.3.3 线程的调度 432
12.4 线程的同步 439
12.4.1 线程间的关系 439
12.4.2 线程同步问题 441
12.5 项目实训 445
12.5.1 项目目的 445
12.5.2 项目需求分析 446
12.5.3 项目实现 446
12.5.4 常见问题及解决方案 449
12.6 课外阅读——微软公司的发展史 450
12.7 本章小结 456
12.8 习题 456
12.8.1 选择题 456
12.8.2 填空题 456
12.8.3 论述题 456
12.8.4 操作题 456
第13章 网络编程 457
13.1 网络通信简介 457
13.2 统一资源定位器 458
13.3 Java网络编程 464
13.3.1 Java网络编程概述 464
13.3.2 基于TCP的网络编程原理 465
13.3.3 基于TCP的网络编程实现 466
13.3.4 基于UDP的Socket编程原理 480
13.3.5 基于UDP的Socket编程实现 481
13.3.6 基于SSL的Socket编程原理 484
13.4 项目实训 485
13.4.1 项目目的 485
13.4.2 项目需求分析 485
13.4.3 项目实现 486
13.4.4 常见问题及解决方案 487
13.5 课外阅读——互联网的发展史 488
13.6 本章小结 492
13.7 习题 492
13.7.1 选择题 492
13.7.2 填空题 493
13.7.3 论述题 493
13.7.4 操作题 493
第14章 集合 494
14.1 Java集合框架 494
14.2 Collection接口 496
14.3 List接口 499
14.3.1 ArrayList类 499
14.3.2 LinkedList类 502
14.4 Map接口 505
14.4.1 HashMap类 506
14.4.2 TreeMap类 509
14.5 Set接口 513
14.5.1 HashSet类 514
14.5.2 TreeSet类 520
14.6 迭代器与比较器 522
14.6.1 迭代器 522
14.6.2 比较器 527
14.7 集合工具类 532
14.7.1 Arrays类 532
14.7.2 Collections类 537
14.8 项目实训 541
14.8.1 项目目的 541
14.8.2 项目需求分析 541
14.8.3 项目实现 543
14.8.4 常见问题及解决方案 555
14.9 课外阅读——云计算 556
14.10 本章小结 563
14.11 习题 564
14.11.1 选择题 564
14.11.2 填空题 568
14.11.3 论述题 570
14.11.4 操作题 570
第15章 MySQL数据库应用 572
15.1 MySQL基础知识 572
15.1.1 MySQL介绍 572
15.1.2 MySQL下载 574
15.1.3 MySQL安装 575
15.1.4 MySQL插件的使用 583
15.2 MySQL及其插件的使用 586
15.2.1 创建数据库 586
15.2.2 导出/导入数据库 589
15.2.3 创建表 591
15.3 课外阅读——大数据 592
15.4 本章小结 599
15.5 习题 599
第16章 网络即时通信系统项目实训 600
16.1 C/S模式 600
16.2 项目需求分析 601
16.3 项目设计 601
16.3.1 服务器端设计 601
16.3.2 客户端设计 602
16.3.3 通信协议设计 602
16.4 项目的数据库设计 603
16.5 项目的开发过程 604
16.5.1 项目简介 604
16.5.2 网络通信系统服务器端实现 606
16.5.3 网络通信系统客户端实现 645
16.5.4 网络通信系统功能演示 690
16.6 常见问题及解决方案 702
16.7 课外阅读——即时通信软件 702
16.8 本章小结 705
16.9 习题 705
参考文献 706