目 录
第1篇 基 础 篇
第1章 初识Java 3
视频讲解:20分钟
1.1 Java语言概述 4
1.1.1 Java语言的历史 4
1.1.2 Java语言的现状 4
1.1.3 Java语言的面向对象特性 4
1.2 JDK的下载和安装 6
1.2.1 JDK下载 6
1.2.2 JDK安装 7
1.2.3 配置JDK 9
1.2.4 测试开发环境 11
1.3 第一个Java程序 11
1.4 本章小结 14
第2章 熟悉Eclipse开发工具 15
视频讲解:22分钟
2.1 熟悉Eclipse 16
2.1.1 Eclipse简介 16
2.1.2 Eclipse的下载与安装 16
2.1.3 Eclipse汉化 17
2.1.4 Eclipse工作台 21
2.1.5 透视图与视图 22
2.1.6 菜单栏 23
2.1.7 工具栏 27
2.1.8 “包资源管理器”视图 28
2.1.9 “控制台”视图 28
2.2 使用Eclipse 28
2.2.1 创建Java项目 29
2.2.2 创建Java类文件 29
2.2.3 使用编辑器编写程序代码 30
2.2.4 运行Java程序 32
2.3 程序调试 32
2.4 本章小结 33
第3章 Java语言基础 35
视频讲解:58分钟
3.1 Java程序的基本结构 36
3.2 标识符和关键字 37
3.2.1 标识符 37
3.2.2 关键字 38
3.3 基本数据类型 38
3.3.1 整数类型 39
3.3.2 浮点类型 40
3.3.3 字符类型 42
3.3.4 布尔类型 43
3.4 变量与常量 43
3.4.1 声明变量 44
3.4.2 声明常量 45
3.4.3 变量的有效范围 45
3.5 运算符 47
3.5.1 赋值运算符 47
3.5.2 算术运算符 48
3.5.3 自增和自减运算符 49
3.5.4 比较运算符 49
3.5.5 逻辑运算符 50
3.5.6 位运算符 51
3.5.7 三元运算符 53
3.5.8 运算符优先级 54
3.5.9 范例1:不用其他变量实现两变量互换 55
3.5.10 范例2:判断数字的奇偶性 56
3.6 类型转换 56
3.6.1 自动类型转换 56
3.6.2 强制类型转换 57
3.6.3 范例3:类型转换实战 58
3.7 代码注释和编码规范 59
3.7.1 代码注释 59
3.7.2 编码规范 60
3.8 经典范例 61
3.8.1 经典范例1:判断某一年是否是闰年 61
3.8.2 经典范例2:求球形的体积 61
3.9 本章小结 62
3.10 实战练习 62
第4章 流程控制 63
视频讲解:31分钟
4.1 复合语句 64
4.2 条件语句 65
4.2.1 if条件语句 65
4.2.2 switch多分支语句 69
4.2.3 范例1:验证登录信息的合法性 71
4.2.4 范例2:为新员工分配部门 71
4.3 循环语句 73
4.3.1 while循环语句 73
4.3.2 do…while循环语句 74
4.3.3 for循环语句 75
4.3.4 范例3:使用while循环遍历数组 77
4.3.5 范例4:使用for循环输出九九乘法表 77
4.4 跳转语句 78
4.4.1 break语句 78
4.4.2 continue语句 79
4.4.3 return语句 80
4.4.4 范例5:终止循环体 80
4.4.5 范例6:循环体的过滤器 81
4.5 经典范例 82
4.5.1 经典范例1:使用for循环输出空心的
菱形 82
4.5.2 经典范例2:使用for循环输出杨辉三角 84
4.6 本章小结 84
4.7 实战练习 85
第5章 数组 87
视频讲解:31分钟
5.1 数组概述 88
5.2 一维数组 88
5.2.1 创建一维数组 89
5.2.2 初始化一维数组 90
5.2.3 范例1:求一维数组各元素的和 90
5.2.4 范例2:获取一维数组的最小值 91
5.3 多维数组 92
5.3.1 二维数组 92
5.3.2 三维数组 94
5.3.3 范例3:对矩阵进行转置运算 95
5.3.4 范例4:求方阵的迹 96
5.4 数组的基本操作 96
5.4.1 遍历数组 97
5.4.2 填充替换数组元素 98
5.4.3 对数组进行排序 99
5.4.4 复制数组 100
5.4.5 范例5:对比一维、二维数组所占内存 102
5.4.6 范例6:使用直接插入排序法排序 103
5.5 经典范例 104
5.5.1 经典范例1:使用冒泡排序法排序 104
5.5.2 经典范例2:输出九宫格 105
5.6 本章小结 105
5.7 实战练习 106
第6章 字符串 107
视频讲解:48分钟
6.1 创建字符串 108
6.2 字符串操作 108
6.2.1 字符串连接 108
6.2.2 获取字符串信息 110
6.2.3 去除字符串中的空格 112
6.2.4 字符串替换 114
6.2.5 判断字符串 115
6.2.6 字母大小写转换 117
6.2.7 字符串分割 118
6.2.8 范例1:根据指定分割符把字符串分行 119
6.2.9 范例2:判断字符串是否是数字格式 120
6.3 格式化字符串 121
6.3.1 格式化方法 121
6.3.2 日期格式化 122
6.3.3 时间格式化 123
6.3.4 日期时间组合格式化 124
6.3.5 常规类型格式化 125
6.3.6 范例3:将金额格式化成大写 126
6.3.7 范例4:将数字格式化成货币格式 128
6.4 正则表达式 128
6.4.1 判断是否符合正则表达式的方法 128
6.4.2 正则表达式的元字符 129
6.4.3 正则表达式的限定符 130
6.4.4 方括号中元字符的含义 131
6.4.5 范例5:验证IP地址的合法性 132
6.4.6 范例6:计算文章中汉字的个数 133
6.5 字符串生成器 134
6.5.1 StringBuilder类 134
6.5.2 StringBuilder类的常用方法 135
6.5.3 范例7:将汉字和字母
转换成Unicode码 138
6.5.4 范例8:去掉字符串中重复的字符 138
6.6 经典范例 139
6.6.1 经典范例1:实现字符串加密 139
6.6.2 经典范例2:验证字符串是否回文 140
6.7 本章小结 141
6.8 实战练习 141
第7章 类和对象 143
视频讲解:46分钟
7.1 面向对象概述 144
7.1.1 什么是对象 144
7.1.2 什么是类 145
7.1.3 面向对象的特点 146
7.2 类 148
7.2.1 类的构造方法 148
7.2.2 类的主方法 149
7.2.3 成员变量 150
7.2.4 成员方法 151
7.2.5 局部变量 152
7.2.6 局部变量的有效范围 152
7.2.7 静态变量、常量和方法 153
7.2.8 权限修饰符 155
7.2.9 this关键字 156
7.2.10 范例1:自定义图书类 157
7.2.11 范例2:温度单位转换工具 158
7.3 对象 158
7.3.1 对象的创建 159
7.3.2 访问对象的属性和行为 160
7.3.3 对象的引用 162
7.3.4 对象的比较 162
7.3.5 对象的销毁 163
7.3.6 范例3:统计图书销量 164
7.3.7 范例4:重新计算对象的哈希码 165
7.4 经典范例 166
7.4.1 经典范例1:汉诺塔问题求解 166
7.4.2 经典范例2:单例模式的应用 167
7.5 本章小结 168
7.6 实战练习 168
第2篇 技 术 篇
第8章 接口、继承与多态 171
视频讲解:18分钟
8.1 接口的使用 172
8.1.1 接口的定义 172
8.1.2 接口的实现 172
8.1.3 范例1:图片的不同格式保存 173
8.1.4 范例2:为汽车增加GPS定位功能 174
8.2 类的继承 175
8.2.1 继承的实现 175
8.2.2 继承中的重写 176
8.2.3 使用super关键字 177
8.2.4 范例3:经理与员工的差异 179
8.2.5 范例4:重写父类中的方法 180
8.3 多态 181
8.3.1 什么是多态 181
8.3.2 范例5:计算几何图形的面积 183
8.3.3 范例6:简单的汽车销售商场 184
8.4 经典范例 185
8.4.1 经典范例1:使用Comparable接口
自定义排序 185
8.4.2 经典范例2:动态设置类的私有域 187
8.5 本章小结 188
8.6 实战练习 188
第9章 类的高级特性 189
视频讲解:34分钟
9.1 抽象类 190
9.2 内部类 192
9.2.1 成员内部类 192
9.2.2 局部内部类 195
9.2.3 匿名内部类 195
9.2.4 静态内部类 197
9.2.5 内部类的继承 198
9.2.6 范例1:局部内部类设置闹钟 198
9.2.7 范例2:静态内部类求极值 199
9.3 Class类与Java反射 200
9.3.1 访问构造方法 201
9.3.2 访问成员变量 204
9.3.3 访问方法 206
9.3.4 范例3:运用反射查看类的成员 209
9.3.5 范例4:动态调用类中方法 210
9.4 经典范例 211
9.4.1 经典范例1:利用反射重写
toString()方法 211
9.4.2 经典范例2:普通内部类的简单应用 212
9.5 本章小结 213
9.6 实战练习 213
第10章 Java集合类 215
视频讲解:45分钟
10.1 集合类概述 216
10.2 集合类接口的常用方法 216
10.2.1 List接口的常用方法 216
10.2.2 Set接口的常用方法 218
10.2.3 Map接口的常用方法 219
10.2.4 范例1:用List集合传递学生信息 220
10.2.5 范例2:Map集合二级联动 222
10.3 集合类接口的实现类 223
10.3.1 List接口的实现类 223
10.3.2 Set接口的实现类 224
10.3.3 Map接口的实现类 226
10.3.4 范例3:for循环遍历ArrayList 227
10.3.5 范例4:用动态数组保存学生姓名 228
10.4 迭代器 229
10.4.1 迭代器的创建和使用 229
10.4.2 范例5:Iterator遍历ArrayList 230
10.4.3 范例6:ListIterator遍历ArrayList 231
10.5 经典范例 232
10.5.1 经典范例1:制作电子词典 232
10.5.2 经典范例2:制作手机电话本 234
10.6 本章小结 235
10.7 实战练习 235
第11章 异常处理 237
视频讲解:49分钟
11.1 异常概述 238
11.2 异常的分类 238
11.2.1 可控式异常 238
11.2.2 运行时异常 240
11.2.3 范例1:算术异常 241
11.2.4 范例2:数组下标越界异常 242
11.3 获取异常信息 243
11.4 处理异常 244
11.4.1 使用try…catch处理异常 244
11.4.2 使用try…catch…finally处理异常 245
11.4.3 使用try…finally处理异常 246
11.5 抛出异常 248
11.5.1 使用throws声明抛出异常 248
11.5.2 使用throw语句抛出异常 250
11.5.3 范例3:方法中抛出异常 251
11.5.4 范例4:方法上抛出异常 251
11.6 自定义异常 252
11.6.1 创建自定义异常类 252
11.6.2 使用自定义异常类 253
11.7 异常的使用原则 254
11.8 经典范例 254
11.8.1 经典范例1:捕获单个异常 254
11.8.2 经典范例2:数据库操作异常 255
11.9 本章小结 256
11.10 实战练习 256
第12章 输入/输出 257
视频讲解:30分钟
12.1 流概述 258
12.2 输入/输出流 258
12.2.1 输入流 258
12.2.2 输出流 260
12.2.3 范例1:显示指定类型的文件 261
12.2.4 范例2:查找替换文本文件内容 262
12.3 File类 263
12.3.1 文件的创建与删除 263
12.3.2 获取文件信息 264
12.3.3 范例3:文件批量重命名 265
12.3.4 范例4:快速批量移动文件 266
12.4 文件输入/输出流 267
12.4.1 FileInputStream与FileOutputStream类 267
12.4.2 FileReader类和FileWriter类 268
12.4.3 范例5:窗体动态加载磁盘文件 270
12.4.4 范例6:删除文件夹中所有文件 272
12.5 带缓存的输入/输出流 272
12.5.1 BufferedInputStream类与
BufferedOutputStream类 272
12.5.2 BufferedReader类与BufferedWriter类 273
12.5.3 范例7:读取属性文件单个属性值 275
12.5.4 范例8:合并多个TXT文件 276
12.6 数据输入/输出流 277
12.7 ZIP压缩输入/输出流 278
12.7.1 压缩文件 278
12.7.2 解压缩ZIP文件 280
12.7.3 范例9:压缩包解压到指定文件夹 281
12.7.4 范例10:压缩所有子文件夹 283
12.8 经典范例 284
12.8.1 经典范例1:简单的投票软件 284
12.8.2 经典范例2:电子通讯录 284
12.9 本章小结 285
12.10 实战练习 286
第13章 Swing程序设计 287
视频讲解:51分钟
13.1 Swing概述 288
13.2 Swing常用窗体 288
13.2.1 JFrame框架窗体 288
13.2.2 JDialog窗体 290
13.2.3 范例1:设置窗体大小 291
13.2.4 范例2:禁止改变窗体的大小 292
13.3 标签组件与图标 292
13.3.1 标签的使用 292
13.3.2 图标的使用 293
13.3.3 范例3:为图片添加说明 295
13.4 常用布局管理器 296
13.4.1 绝对布局 297
13.4.2 流布局管理器 297
13.4.3 边界布局管理器 299
13.4.4 网格布局管理器 300
13.5 常用面板 301
13.5.1 JPanel面板 301
13.5.2 JScrollPane面板 302
13.6 按钮组件 303
13.6.1 提交按钮组件 303
13.6.2 单选按钮组件 304
13.6.3 复选框组件 305
13.7 列表组件 306
13.7.1 下拉列表框组件 306
13.7.2 列表框组件 308
13.8 文本组件 310
13.8.1 文本框组件 310
13.8.2 密码框组件 311
13.8.3 文本域组件 311
13.8.4 范例4:给文本域设置背景图片 312
13.8.5 范例5:给文本区设置背景图片 313
13.9 经典范例 313
13.9.1 经典范例1:设置窗体标题栏图标 313
13.9.2 经典范例2:随机更换窗体背景 314
13.10 本章小结 315
13.11 实战练习 315
第3篇 高 级 篇
第14章 高级事件处理 319
视频讲解:30分钟
14.1 键盘事件 320
14.2 鼠标事件 322
14.3 窗体事件 324
14.3.1 捕获窗体焦点变化事件 324
14.3.2 捕获窗体状态变化事件 325
14.3.3 捕获其他窗体事件 326
14.4 选项事件 328
14.5 表格模型事件 329
14.6 经典范例 332
14.6.1 经典范例1:模拟相机拍摄 332
14.6.2 经典范例2:打地鼠游戏 333
14.7 本章小结 335
14.8 实战练习 335
第15章 多线程 337
视频讲解:41分钟
15.1 线程简介 338
15.2 实现线程的两种方式 338
15.2.1 继承Thread类 339
15.2.2 实现Runnable接口 340
15.2.3 范例1:查看线程的运行状态 342
15.2.4 范例2:查看JVM中的线程名 344
15.3 线程的生命周期 345
15.4 操作线程的方法 346
15.4.1 线程的休眠 347
15.4.2 线程的加入 348
15.4.3 线程的中断 350
15.4.4 线程的礼让 351
15.4.5 范例3:查看和修改线程优先级 351
15.4.6 范例4:休眠当前线程 353
15.5 线程的优先级 354
15.6 线程同步 356
15.6.1 线程安全 356
15.6.2 线程同步机制 357
15.7 线程间的通信 359
15.8 经典范例 361
15.8.1 经典范例1:查看JVM中的线程名 361
15.8.2 经典范例2:查看和修改线程名称 362
15.9 本章小结 364
15.10 实战练习 364
第16章 网络通信 365
视频讲解:33分钟
16.1 网络程序设计基础 366
16.1.1 局域网与因特网 366
16.1.2 网络协议 366
16.1.3 端口和套接字 367
16.1.4 范例1:获得内网的所有IP地址 368
16.1.5 范例2:解析网页中的内容 369
16.2 TCP程序设计基础 370
16.2.1 InetAddress类 371
16.2.2 ServerSocket类 372
16.2.3 TCP网络程序 373
16.2.4 范例3:设置等待连接的超时时间 376
16.2.5 范例4:获得Socket信息 377
16.3 UDP程序设计基础 378
16.3.1 DatagramPacket类 379
16.3.2 DatagramSocket类 379
16.3.3 UDP网络程序 379
16.4 经典范例 383
16.4.1 经典范例1:聊天室服务器端 383
16.4.2 经典范例2:聊天室客户端 385
16.5 本章小结 387
16.6 实战练习 387
第17章 JDBC操作数据库 389
视频讲解:1小时25分钟
17.1 JDBC概述 390
17.1.1 数据库概述 390
17.1.2 JDBC技术 391
17.2 JDBC的常用类和接口 391
17.2.1 DriverManager类 391
17.2.2 Connection接口 392
17.2.3 Statement接口 393
17.2.4 PreparedStatement接口 393
17.2.5 ResultSet接口 393
17.3 通过JDBC操作数据库 394
17.3.1 加载数据库驱动 394
17.3.2 建立连接 395
17.3.3 向数据库添加数据 396
17.3.4 获得查询结果集 397
17.3.5 更改数据库中的数据 398
17.3.6 删除数据库中的数据 399
17.3.7 模糊查询 400
17.3.8 范例1:将复选框内容存到数据库 401
17.3.9 范例2:查询三年二班的学生信息 403
17.4 经典范例 404
17.4.1 经典范例1:管理学生信息 404
17.4.2 经典范例2:权限管理 410
17.5 本章小结 415
17.6 实战练习 415
第18章 Swing高级组件 417
视频讲解:48分钟
18.1 利用JTable类直接创建表格 418
18.1.1 创建表格 418
18.1.2 定制表格 420
18.1.3 操纵表格 423
18.1.4 范例1:列表元素与提示信息 425
18.1.5 范例2:监听列表单击事件 426
18.2 表格模型与表格 427
18.2.1 利用表格模型创建表格 427
18.2.2 维护表格模型 429
18.2.3 范例3:实现自动排序列表 431
18.2.4 范例4:可以预览字体的列表 432
18.3 提供行标题栏的表格 433
18.3.1 提供行标题栏的表格 433
18.3.2 范例5:提供行标题栏的表格 433
18.4 Swing树组件 437
18.4.1 简单的树 437
18.4.2 处理选中节点事件 438
18.4.3 遍历树节点 440
18.4.4 定制树 442
18.4.5 维护树模型 444
18.4.6 处理展开节点事件 446
18.4.7 范例6:为树节点增加提示信息 448
18.4.8 范例7:双击编辑树节点功能 449
18.5 经典范例 450
18.5.1 经典范例1:编写中国省市信息树 450
18.5.2 经典范例2:监听节点的选择事件 451
18.6 本章小结 452
18.7 实战练习 452
第19章 高级布局管理器 453
视频讲解:39分钟
19.1 箱式布局管理器 454
19.2 卡片布局管理器 456
19.3 网格组布局管理器 458
19.4 弹簧布局管理器 464
19.4.1 使用弹簧布局管理器 464
19.4.2 使用弹簧和支柱 467
19.4.3 利用弹簧控制组件大小 468
19.5 经典范例 469
19.5.1 经典范例1:制作圆形布局管理器 469
19.5.2 经典范例2:制作阶梯布局管理器 470
19.6 本章小结 471
19.7 实战练习 471
第20章 AWT绘图技术 473
视频讲解:33分钟
20.1 绘制图形 474
20.1.1 Graphics 474
20.1.2 Graphics2D 476
20.1.3 范例1:绘制指定角度的填充扇形 478
20.1.4 范例2:绘制多边形 478
20.2 绘图颜色与笔画属性 479
20.2.1 设置颜色 479
20.2.2 笔画属性 481
20.2.3 范例3:为图形填充渐变色 482
20.2.4 范例4:设置笔画的粗细 482
20.3 绘制文本 483
20.3.1 设置字体 483
20.3.2 显示文字 484
20.3.3 范例5:设置文本的字体 485
20.3.4 范例6:设置文本的图形和颜色 486
20.4 图片处理 487
20.4.1 绘制图片 487
20.4.2 放大与缩小 488
20.4.3 图片翻转 490
20.4.4 图片旋转 492
20.4.5 图片倾斜 493
20.4.6 范例7:图形的交运算 495
20.4.7 范例8:图形的异或运算 495
20.5 经典范例 496
20.5.1 经典范例1:绘制花瓣 496
20.5.2 经典范例2:绘制艺术图案 497
20.6 本章小结 498
20.7 实战练习 499
第4篇 项 目 篇
第21章 酒店管理系统 503
视频讲解:1小时21分钟
21.1 概述 504
21.2 系统分析 504
21.3 系统设计 504
21.3.1 系统目标 504
21.3.2 系统功能结构 505
21.3.3 系统预览 505
21.3.4 业务流程图 506
21.3.5 文件夹结构设计 507
21.4 数据库设计 508
21.4.1 数据库分析 508
21.4.2 数据库概念设计 508
21.4.3 数据库逻辑结构设计 509
21.4.4 视图设计 509
21.5 公共模块设计 510
21.5.1 编写数据库连接类 510
21.5.2 封装常用的操作数据库的方法 511
21.5.3 自定义表格组件 512
21.5.4 编写利用正则表达式验证数据
合法性的方法 513
21.6 主窗体设计 514
21.7 用户登录窗口设计 516
21.8 开台签单工作区设计 521
21.8.1 开台签单工作区功能概述 521
21.8.2 开台签单工作区技术分析 522
21.8.3 开台签单工作区实现过程 522
21.8.4 单元测试 527
21.9 自动结账工作区设计 528
21.9.1 自动结账工作区功能概述 528
21.9.2 自动结账工作区技术分析 528
21.9.3 自动结账工作区实现过程 529
21.10 结账报表工作区设计 530
21.10.1 结账报表工作区功能概述 530
21.10.2 结账报表工作区技术分析 531
21.10.3 结账报表工作区实现过程 531
21.10.4 单元测试 535
21.11 后台管理工作区设计 536
21.11.1 后台管理工作区功能概述 536
21.11.2 后台管理工作区技术分析 537
21.11.3 后台管理工作区实现过程 537
21.11.4 单元测试 544
21.12 开发技巧与难点分析 544
21.13 使用Visio逆向生成
数据库E-R图 546
21.14 本章小结 548
· · · · · · (
收起)