《Java从入门到精通(第5版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。全书分为27章,包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O(输入/输出),反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级事件处理,AWT绘图,奔跑吧小恐龙和企业进销存管理系统等。
明日科技,是一个拥有软件开发和项目实施方面的资深专家和学习型技术团队,利用积累的专业知识和经验,已开发出版了“从入门到精通”“软件开发实战1200例”“软件开发实战宝典”“软件项目开发全程实录”等系列丛书,是国内畅销的编程图书品牌。
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书最畅销的品牌之一。
(1)丛书累计销售200多万册,深受广大开发者喜爱。
(2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖。
(3)绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅。
(4)实用、易懂、资源丰富,被 数百所高校选为专业课教材。
本书推荐:
1. 循序渐进,实战讲述:基础知识→核心技术→高级应用→项目实战,符合认知规律。
2. 297个应用实例+229集高清微视频+4个项目案例,边学边练,在实践中提升技能。
3. 超值赠送海量开发资源库资源,助力你夯实基础,精准,有效,速练,练就转岗就业不败之力。
(1)实例资源库+源码资源库:732个实例及源码详细分析,多练实例,多读源码,是快速学习之道。
(2)模块资源库:15个经典模块开发过程完整展现,拿来改改就能用。
(3)项目资源库:15个企业项目开发过程的完整展现,帮助你反复练习,触类旁通。
(4)面试资源库:369个企业面试真题及面试技巧,帮你进行职业规划,转岗就业不用愁。
(5)测试题库系统:616道能力测试题目,由易及难,快速判断自己的真实水平,熟能生巧。
4. 在线解答,高效学习。
(1)在线答疑QQ及技术支持网站。
(2)不定期进行在线直播课程。
目 录
“开发资源库”目录…………XV
第1篇 基础知识
第1章 初识Java 2
视频讲解:17分钟
1.1 Java简介 3
1.1.1 什么是Java语言 3
1.1.2 Java的应用领域 3
1.1.3 Java的版本 4
1.1.4 怎样学好Java 5
1.1.5 Java API文档 6
1.2 Java语言的特性 7
1.2.1 简单 7
1.2.2 面向对象 7
1.2.3 分布性 7
1.2.4 可移植性 7
1.2.5 解释型 8
1.2.6 安全性 8
1.2.7 健壮性 8
1.2.8 多线程 8
1.2.9 高性能 8
1.2.10 动态 8
1.3 搭建Java环境 9
1.3.1 JDK下载 9
1.3.2 Windows系统的JDK环境 10
1.4 小结 13
第2章 熟悉Eclipse开发工具 14
视频讲解:21分钟
2.1 熟悉Eclipse 15
2.1.1 Eclipse简介 15
2.1.2 下载Eclipse 15
2.1.3 安装Eclipse的中文语言包 17
2.1.4 Eclipse的配置与启动 19
2.1.5 Eclipse工作台 20
2.1.6 透视图与视图 21
2.1.7 菜单栏 21
2.1.8 工具栏 25
2.1.9 “包资源管理器”视图 25
2.1.10 “控制台”视图 26
2.2 使用Eclipse 26
2.2.1 创建Java项目 26
2.2.2 创建Java类文件 27
2.2.3 使用编辑器编写程序代码 28
2.2.4 运行Java程序 31
2.3 程序调试 31
2.4 小结 33
2.5 实践与练习 33
第3章 Java语言基础 34
视频讲解:1小时45分钟
3.1 Java主类结构 35
3.1.1 包声明 35
3.1.2 声明成员变量和局部变量 36
3.1.3 编写主方法 36
3.1.4 导入API类库 36
3.2 基本数据类型 36
3.2.1 整数类型 37
3.2.2 浮点类型 38
3.2.3 字符类型 39
3.2.4 布尔类型 40
3.3 变量与常量 40
3.3.1 标识符和关键字 41
3.3.2 声明变量 41
3.3.3 声明常量 42
3.3.4 变量的有效范围 43
3.4 运算符 44
3.4.1 赋值运算符 45
3.4.2 算术运算符 46
3.4.3 自增和自减运算符 47
3.4.4 比较运算符 47
3.4.5 逻辑运算符 48
3.4.6 位运算符 49
3.4.7 三元运算符 51
3.4.8 运算符优先级 51
3.5 数据类型转换 52
3.5.1 隐式类型转换 53
3.5.2 显式类型转换 54
3.6 代码注释与编码规范 54
3.6.1 代码注释 55
3.6.2 编码规范 56
3.7 小结 56
3.8 实践与练习 57
第4章 流程控制 58
视频讲解:1小时21分钟
4.1 复合语句 59
4.2 条件语句 60
4.2.1 if条件语句 60
4.2.2 switch多分支语句 64
4.3 循环语句 66
4.3.1 while循环语句 67
4.3.2 do…while循环语句 68
4.3.3 for循环语句 69
4.4 循环控制 71
4.4.1 break语句 71
4.4.2 continue语句 73
4.5 小结 75
4.6 实践与练习 75
第5章 字符串 76
视频讲解:1小时53分钟
5.1 String类 77
5.1.1 声明字符串 77
5.1.2 创建字符串 77
5.2 连接字符串 78
5.2.1 连接多个字符串 79
5.2.2 连接其他数据类型 79
5.3 获取字符串信息 80
5.3.1 获取字符串长度 81
5.3.2 字符串查找 81
5.3.3 获取指定索引位置的字符 82
5.4 字符串操作 83
5.4.1 获取子字符串 83
5.4.2 去除空格 84
5.4.3 字符串替换 85
5.4.4 判断字符串的开始与结尾 86
5.4.5 判断字符串是否相等 87
5.4.6 按字典顺序比较两个字符串 88
5.4.7 字母大小写转换 89
5.4.8 字符串分割 90
5.5 格式化字符串 92
5.5.1 日期和时间字符串格式化 92
5.5.2 常规类型格式化 95
5.6 使用正则表达式 96
5.7 字符串生成器 99
5.8 小结 101
5.9 实践与练习 101
第6章 数组 102
视频讲解:1小时21分钟
6.1 数组概述 103
6.2 一维数组的创建及使用 103
6.2.1 创建一维数组 103
6.2.2 初始化一维数组 104
6.2.3 使用一维数组 105
6.3 二维数组的创建及使用 105
6.3.1 二维数组的创建 105
6.3.2 二维数组初始化 106
6.3.3 使用二维数组 107
6.4 数组的基本操作 108
6.4.1 遍历数组 108
6.4.2 填充替换数组元素 109
6.4.3 对数组进行排序 111
6.4.4 复制数组 112
6.4.5 数组查询 113
6.5 数组排序算法 115
6.5.1 冒泡排序 115
6.5.2 直接选择排序 117
6.5.3 反转排序 119
6.6 小结 121
6.7 实践与练习 121
第7章 类和对象 122
视频讲解:1小时27分钟
7.1 面向对象概述 123
7.1.1 对象 123
7.1.2 类 124
7.1.3 封装 125
7.1.4 继承 125
7.1.5 多态 126
7.2 类 127
7.2.1 成员变量 127
7.2.2 成员方法 128
7.2.3 权限修饰符 128
7.2.4 局部变量 130
7.2.5 局部变量的有效范围 130
7.2.6 this关键字 131
7.3 类的构造方法 132
7.4 静态变量、常量和方法 133
7.5 类的主方法 135
7.6 对象 136
7.6.1 对象的创建 136
7.6.2 访问对象的属性和行为 138
7.6.3 对象的引用 140
7.6.4 对象的比较 141
7.6.5 对象的销毁 141
7.7 小结 142
7.8 实践与练习 142
第8章 包装类 144
视频讲解:32分钟
8.1 Integer 145
8.2 Boolean 147
8.3 Byte 149
8.4 Character 150
8.5 Double 151
8.6 Number 152
8.7 小结 153
8.8 实践与练习 153
第9章 数字处理类 154
视频讲解:38分钟
9.1 数字格式化 155
9.2 数学运算 157
9.2.1 Math类 157
9.2.2 常用数学运算方法 158
9.3 随机数 162
9.3.1 Math.random()方法 162
9.3.2 Random类 164
9.4 大数字运算 165
9.4.1 BigInteger 165
9.4.2 BigDecimal 167
9.5 小结 170
9.6 实践与练习 170
第2篇 核心技术
第10章 接口、继承与多态 172
视频讲解:1小时30分钟
10.1 类的继承 173
10.2 Object类 176
10.3 对象类型的转换 178
10.3.1 向上转型 178
10.3.2 向下转型 179
10.4 使用instanceof操作符判断对象类型 180
10.5 方法的重载 182
10.6 多态 185
10.7 抽象类与接口 186
10.7.1 抽象类 186
10.7.2 接口 188
10.8 小结 190
10.9 实践与练习 191
第11章 类的高级特性 192
视频讲解:35分钟
11.1 Java类包 193
11.1.1 类名冲突 193
11.1.2 完整的类路径 193
11.1.3 创建包 194
11.1.4 导入包 195
11.2 final变量 197
11.3 final方法 199
11.4 final类 201
11.5 内部类 201
11.5.1 成员内部类 202
11.5.2 局部内部类 206
11.5.3 匿名内部类 206
11.5.4 静态内部类 207
11.5.5 内部类的继承 208
11.6 小结 209
11.7 实践与练习 209
第12章 异常处理 210
视频讲解:1小时8分钟
12.1 异常概述 211
12.2 处理程序异常错误 211
12.2.1 错误 212
12.2.2 捕捉异常 212
12.3 Java常见异常 214
12.4 自定义异常 215
12.5 在方法中抛出异常 216
12.5.1 使用throws关键字抛出异常 216
12.5.2 使用throw关键字抛出异常 217
12.6 运行时异常 219
12.7 异常的使用原则 219
12.8 小结 220
12.9 实践与练习 220
第13章 Swing程序设计 221
视频讲解:3小时2分钟
13.1 Swing概述 222
13.1.1 Swing特点 222
13.1.2 Swing包 222
13.1.3 常用Swing组件概述 223
13.2 常用窗体 223
13.2.1 JFrame窗体 223
13.2.2 JDialog窗体 225
13.3 标签组件与图标 227
13.3.1 标签的使用 227
13.3.2 图标的使用 228
13.4 常用布局管理器 230
13.4.1 绝对布局 231
13.4.2 流布局管理器 232
13.4.3 边界布局管理器 233
13.4.4 网格布局管理器 234
13.4.5 网格组布局管理器 236
13.5 常用面板 241
13.5.1 JPanel面板 242
13.5.2 JScrollPane面板 243
13.6 按钮组件 244
13.6.1 提交按钮组件 244
13.6.2 单选按钮组件 245
13.6.3 复选框组件 246
13.7 列表组件 247
13.7.1 下拉列表框组件 248
13.7.2 列表框组件 249
13.8 文本组件 251
13.8.1 文本框组件 251
13.8.2 密码框组件 252
13.8.3 文本域组件 253
13.9 常用事件监听器 254
13.9.1 监听事件简介 254
13.9.2 动作事件监听器 254
13.9.3 焦点事件监听器 256
13.10 小结 257
13.11 实践与练习 257
第14章 集合类 258
视频讲解:60分钟
14.1 集合类概述 259
14.2 Collection接口 259
14.3 List集合 260
14.3.1 List接口 260
14.3.2 List接口的实现类 261
14.4 Set集合 262
14.5 Map集合 264
14.5.1 Map接口 265
14.5.2 Map接口的实现类 266
14.6 小结 268
14.7 实践与练习 268
第15章 I/O(输入/输出) 269
视频讲解:1小时40分钟
15.1 流概述 270
15.2 输入/输出流 270
15.2.1 输入流 270
15.2.2 输出流 272
15.3 File类 273
15.3.1 文件的创建与删除 273
15.3.2 获取文件信息 274
15.4 文件输入/输出流 275
15.4.1 FileInputStream与FileOutputStream类 276
15.4.2 FileReader和FileWriter类 277
15.5 带缓存的输入/输出流 279
15.5.1 BufferedInputStream与BufferedOutputStream类 279
15.5.2 BufferedReader与BufferedWriter类 280
15.6 数据输入/输出流 281
15.7 ZIP压缩输入/输出流 283
15.7.1 压缩文件 283
15.7.2 解压缩ZIP文件 285
15.8 小结 286
15.9 实践与练习 287
第16章 反射 288
视频讲解:1小时3分钟
16.1 Class类与Java反射 289
16.1.1 访问构造方法 290
16.1.2 访问成员变量 293
16.1.3 访问方法 296
16.2 使用Annotation功能 299
16.2.1 定义Annotation类型 299
16.2.2 访问Annotation信息 302
16.3 小结 305
16.4 实践与练习 305
第17章 枚举类型与泛型 306
视频讲解:1小时20分钟
17.1 枚举类型 307
17.1.1 使用枚举类型设置常量 307
17.1.2 深入了解枚举类型 309
17.1.3 使用枚举类型的优势 314
17.2 泛型 314
17.2.1 回顾向上转型与向下转型 314
17.2.2 定义泛型类 315
17.2.3 泛型的常规用法 317
17.2.4 泛型的高级用法 320
17.2.5 泛型总结 322
17.3 小结 323
17.4 实践与练习 323
第18章 多线程 324
视频讲解:45分钟
18.1 线程简介 325
18.2 实现线程的两种方式 325
18.2.1 继承Thread类 326
18.2.2 实现Runnable接口 327
18.3 线程的生命周期 329
18.4 操作线程的方法 331
18.4.1 线程的休眠 331
18.4.2 线程的加入 333
18.4.3 线程的中断 334
18.4.4 线程的礼让 336
18.5 线程的优先级 336
18.6 线程同步 338
18.6.1 线程安全 338
18.6.2 线程同步机制 340
18.7 小结 342
18.8 实践与练习 342
第19章 网络通信 343
视频讲解:60分钟
19.1 网络程序设计基础 344
19.1.1 局域网与因特网 344
19.1.2 网络协议 344
19.1.3 端口和套接字 345
19.2 TCP程序设计基础 346
19.2.1 InetAddress类 346
19.2.2 ServerSocket类 347
19.2.3 TCP网络程序 348
19.3 UDP程序设计基础 351
19.3.1 DatagramPacket类 352
19.3.2 DatagramSocket类 352
19.3.3 UDP网络程序 353
19.4 小结 356
19.5 实践与练习 356
第20章 数据库操作 357
视频讲解:47分钟
20.1 数据库基础知识 358
20.1.1 什么是数据库 358
20.1.2 数据库的种类及功能 359
20.1.3 SQL语言 359
20.2 JDBC概述 361
20.2.1 JDBC-ODBC桥 361
20.2.2 JDBC技术 361
20.2.3 JDBC驱动程序的类型 362
20.3 JDBC中常用的类和接口 362
20.3.1 Connection接口 362
20.3.2 Statement接口 363
20.3.3 PreparedStatement接口 363
20.3.4 DriverManager类 364
20.3.5 ResultSet接口 364
20.4 数据库操作 365
20.4.1 连接数据库 365
20.4.2 向数据库发送SQL语句 367
20.4.3 处理查询结果集 367
20.4.4 顺序查询 367
20.4.5 模糊查询 368
20.4.6 预处理语句 370
20.4.7 添加、修改、删除记录 371
20.5 小结 373
20.6 实践与练习 373
第3篇 高级应用
第21章 Swing表格组件 375
视频讲解:33分钟
21.1 利用JTable类直接创建表格 376
21.1.1 创建表格 376
21.1.2 定制表格 378
21.1.3 操纵表格 382
21.2 表格模型与表格 384
21.2.1 利用表格模型创建表格 384
21.2.2 维护表格模型 386
21.3 提供行标题栏的表格 388
21.4 小结 392
21.5 实践与练习 392
第22章 Swing树组件 393
视频讲解:20分钟
22.1 简单的树 394
22.2 处理选中节点事件 395
22.3 遍历树节点 397
22.4 定制树 399
22.5 维护树模型 401
22.6 处理展开节点事件 404
22.7 小结 406
22.8 实践与练习 406
第23章 Swing其他高级组件 407
视频讲解:1小时30分钟
23.1 高级组件面板 408
23.1.1 分割面板 408
23.1.2 选项卡面板 410
23.1.3 桌面面板和内部窗体 413
23.2 菜 单 417
23.2.1 创建菜单栏 417
23.2.2 创建弹出式菜单 419
23.2.3 定制个性化菜单 420
23.3 工具 栏 424
23.4 文件选择器 425
23.4.1 文件选择对话框 425
23.4.2 使用文件过滤器 426
23.5 进 度 条 428
23.6 系 统 托 盘 429
23.7 桌面集成控件 431
23.8 小结 431
23.9 实践与练习 432
第24章 高级事件处理 433
视频讲解:1小时13分钟
24.1 键 盘 事 件 434
24.2 鼠 标 事 件 436
24.3 窗体事件 438
24.3.1 捕获窗体焦点变化事件 438
24.3.2 捕获窗体状态变化事件 439
24.3.3 捕获其他窗体事件 441
24.4 选项事件 442
24.5 表格模型事件 444
24.6 小结 446
24.7 实践与练习 447
第25章 AWT绘图 448
视频讲解:1小时24分钟
25.1 Java绘图 449
25.1.1 Graphics 449
25.1.2 Graphics2D 449
25.2 绘制图形 449
25.3 绘图颜色与画笔属性 453
25.3.1 设置颜色 453
25.3.2 画笔属性 454
25.4 绘制文本 455
25.4.1 设置字体 456
25.4.2 显示文字 456
25.5 绘制图片 457
25.6 图像处理 459
25.6.1 放大与缩小 459
25.6.2 图像翻转 461
25.6.3 图像旋转 463
25.6.4 图像倾斜 464
25.7 小结 466
25.8 实践与练习 466
第4篇 项目实战
第26章 奔跑吧,小恐龙! 468
视频讲解:54分钟
26.1 开发背景 469
26.2 系统结构设计 469
26.2.1 系统功能结构 469
26.2.2 系统业务流程 470
26.3 项目目录结构预览 470
26.4 游戏模型设计 471
26.4.1 恐龙类 471
26.4.2 障碍类 474
26.5 音效模块设计 475
26.5.1 音频播放器 476
26.5.2 音效工具类 477
26.6 计分器模块设计 478
26.7 视图模块设计 481
26.7.1 主窗体 481
26.7.2 游戏面板 483
26.7.3 成绩对话框 485
26.8 游戏核心功能设计 487
26.8.1 刷新帧 487
26.8.2 滚动背景 488
26.8.3 碰撞检测 499
26.8.4 键盘监听 490
26.9 小结 491
第27章 企业进销存管理系统 492
视频讲解:1小时12分钟
27.1 系统分析 493
27.1.1 需求分析 493
27.1.2 可行性分析 493
27.1.3 编写项目计划书 494
27.2 系统设计 496
27.2.1 系统目标 496
27.2.2 系统功能结构 496
27.2.3 系统业务流程图 497
27.2.4 系统编码规范 498
27.3 开发环境 499
27.4 数据库与数据表设计 500
27.4.1 数据库分析 500
27.4.2 创建数据库 500
27.4.3 创建数据表 501
27.5 创建项目 505
27.6 系统文件夹组织结构 506
27.7 公共类设计 506
27.7.1 Item公共类 506
27.7.2 数据模型公共类 507
27.7.3 Dao公共类 509
27.8 系统登录模块设计 519
27.8.1 设计登录窗体 519
27.8.2 “密码”文本框的回车事件 520
27.8.3 “登录”按钮的事件处理 520
27.9 系统主窗体设计 522
27.9.1 设计菜单栏 522
27.9.2 设计工具栏 524
27.9.3 设计状态栏 525
27.10 进货单模块设计 526
27.10.1 设计进货单窗体 527
27.10.2 添加进货商品 528
27.10.3 进货统计 529
27.10.4 商品入库 530
27.11 销售单模块设计 532
27.11.1 设计销售单窗体 533
27.11.2 添加销售商品 533
27.11.3 销售统计 534
27.11.4 商品销售 535
27.12 库存盘点模块设计 536
27.12.1 设计库存盘点窗体 537
27.12.2 读取库存商品 537
27.12.3 统计损益数量 539
27.13 数据库备份与恢复模块设计 540
27.13.1 设计窗体 540
27.13.2 文件浏览 540
27.13.3 备份数据库 541
27.13.4 恢复数据库 542
27.14 运行项目 543
27.15 开发常见问题与解决 544
27.15.1 无法打开内部窗体 544
27.15.2 “关于”界面被其他窗体覆盖 545
27.15.3 程序运行后没有出现闪屏界面 545
27.16 小结 545
出版日期:2019-10《Java从入门到精通(第5版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。全书分为27章,包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O(输入/输出),反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级事件处理,AWT绘图,奔跑吧小恐龙和企业进销存管理系统等。
明日科技,是一个拥有软件开发和项目实施方面的资深专家和学习型技术团队,利用积累的专业知识和经验,已开发出版了“从入门到精通”“软件开发实战1200例”“软件开发实战宝典”“软件项目开发全程实录”等系列丛书,是国内畅销的编程图书品牌。
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书最畅销的品牌之一。
(1)丛书累计销售200多万册,深受广大开发者喜爱。
(2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖。
(3)绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅。
(4)实用、易懂、资源丰富,被 数百所高校选为专业课教材。
本书推荐:
1. 循序渐进,实战讲述:基础知识→核心技术→高级应用→项目实战,符合认知规律。
2. 297个应用实例+229集高清微视频+4个项目案例,边学边练,在实践中提升技能。
3. 超值赠送海量开发资源库资源,助力你夯实基础,精准,有效,速练,练就转岗就业不败之力。
(1)实例资源库+源码资源库:732个实例及源码详细分析,多练实例,多读源码,是快速学习之道。
(2)模块资源库:15个经典模块开发过程完整展现,拿来改改就能用。
(3)项目资源库:15个企业项目开发过程的完整展现,帮助你反复练习,触类旁通。
(4)面试资源库:369个企业面试真题及面试技巧,帮你进行职业规划,转岗就业不用愁。
(5)测试题库系统:616道能力测试题目,由易及难,快速判断自己的真实水平,熟能生巧。
4. 在线解答,高效学习。
(1)在线答疑QQ及技术支持网站。
(2)不定期进行在线直播课程。
目 录
“开发资源库”目录…………XV
第1篇 基础知识
第1章 初识Java 2
视频讲解:17分钟
1.1 Java简介 3
1.1.1 什么是Java语言 3
1.1.2 Java的应用领域 3
1.1.3 Java的版本 4
1.1.4 怎样学好Java 5
1.1.5 Java API文档 6
1.2 Java语言的特性 7
1.2.1 简单 7
1.2.2 面向对象 7
1.2.3 分布性 7
1.2.4 可移植性 7
1.2.5 解释型 8
1.2.6 安全性 8
1.2.7 健壮性 8
1.2.8 多线程 8
1.2.9 高性能 8
1.2.10 动态 8
1.3 搭建Java环境 9
1.3.1 JDK下载 9
1.3.2 Windows系统的JDK环境 10
1.4 小结 13
第2章 熟悉Eclipse开发工具 14
视频讲解:21分钟
2.1 熟悉Eclipse 15
2.1.1 Eclipse简介 15
2.1.2 下载Eclipse 15
2.1.3 安装Eclipse的中文语言包 17
2.1.4 Eclipse的配置与启动 19
2.1.5 Eclipse工作台 20
2.1.6 透视图与视图 21
2.1.7 菜单栏 21
2.1.8 工具栏 25
2.1.9 “包资源管理器”视图 25
2.1.10 “控制台”视图 26
2.2 使用Eclipse 26
2.2.1 创建Java项目 26
2.2.2 创建Java类文件 27
2.2.3 使用编辑器编写程序代码 28
2.2.4 运行Java程序 31
2.3 程序调试 31
2.4 小结 33
2.5 实践与练习 33
第3章 Java语言基础 34
视频讲解:1小时45分钟
3.1 Java主类结构 35
3.1.1 包声明 35
3.1.2 声明成员变量和局部变量 36
3.1.3 编写主方法 36
3.1.4 导入API类库 36
3.2 基本数据类型 36
3.2.1 整数类型 37
3.2.2 浮点类型 38
3.2.3 字符类型 39
3.2.4 布尔类型 40
3.3 变量与常量 40
3.3.1 标识符和关键字 41
3.3.2 声明变量 41
3.3.3 声明常量 42
3.3.4 变量的有效范围 43
3.4 运算符 44
3.4.1 赋值运算符 45
3.4.2 算术运算符 46
3.4.3 自增和自减运算符 47
3.4.4 比较运算符 47
3.4.5 逻辑运算符 48
3.4.6 位运算符 49
3.4.7 三元运算符 51
3.4.8 运算符优先级 51
3.5 数据类型转换 52
3.5.1 隐式类型转换 53
3.5.2 显式类型转换 54
3.6 代码注释与编码规范 54
3.6.1 代码注释 55
3.6.2 编码规范 56
3.7 小结 56
3.8 实践与练习 57
第4章 流程控制 58
视频讲解:1小时21分钟
4.1 复合语句 59
4.2 条件语句 60
4.2.1 if条件语句 60
4.2.2 switch多分支语句 64
4.3 循环语句 66
4.3.1 while循环语句 67
4.3.2 do…while循环语句 68
4.3.3 for循环语句 69
4.4 循环控制 71
4.4.1 break语句 71
4.4.2 continue语句 73
4.5 小结 75
4.6 实践与练习 75
第5章 字符串 76
视频讲解:1小时53分钟
5.1 String类 77
5.1.1 声明字符串 77
5.1.2 创建字符串 77
5.2 连接字符串 78
5.2.1 连接多个字符串 79
5.2.2 连接其他数据类型 79
5.3 获取字符串信息 80
5.3.1 获取字符串长度 81
5.3.2 字符串查找 81
5.3.3 获取指定索引位置的字符 82
5.4 字符串操作 83
5.4.1 获取子字符串 83
5.4.2 去除空格 84
5.4.3 字符串替换 85
5.4.4 判断字符串的开始与结尾 86
5.4.5 判断字符串是否相等 87
5.4.6 按字典顺序比较两个字符串 88
5.4.7 字母大小写转换 89
5.4.8 字符串分割 90
5.5 格式化字符串 92
5.5.1 日期和时间字符串格式化 92
5.5.2 常规类型格式化 95
5.6 使用正则表达式 96
5.7 字符串生成器 99
5.8 小结 101
5.9 实践与练习 101
第6章 数组 102
视频讲解:1小时21分钟
6.1 数组概述 103
6.2 一维数组的创建及使用 103
6.2.1 创建一维数组 103
6.2.2 初始化一维数组 104
6.2.3 使用一维数组 105
6.3 二维数组的创建及使用 105
6.3.1 二维数组的创建 105
6.3.2 二维数组初始化 106
6.3.3 使用二维数组 107
6.4 数组的基本操作 108
6.4.1 遍历数组 108
6.4.2 填充替换数组元素 109
6.4.3 对数组进行排序 111
6.4.4 复制数组 112
6.4.5 数组查询 113
6.5 数组排序算法 115
6.5.1 冒泡排序 115
6.5.2 直接选择排序 117
6.5.3 反转排序 119
6.6 小结 121
6.7 实践与练习 121
第7章 类和对象 122
视频讲解:1小时27分钟
7.1 面向对象概述 123
7.1.1 对象 123
7.1.2 类 124
7.1.3 封装 125
7.1.4 继承 125
7.1.5 多态 126
7.2 类 127
7.2.1 成员变量 127
7.2.2 成员方法 128
7.2.3 权限修饰符 128
7.2.4 局部变量 130
7.2.5 局部变量的有效范围 130
7.2.6 this关键字 131
7.3 类的构造方法 132
7.4 静态变量、常量和方法 133
7.5 类的主方法 135
7.6 对象 136
7.6.1 对象的创建 136
7.6.2 访问对象的属性和行为 138
7.6.3 对象的引用 140
7.6.4 对象的比较 141
7.6.5 对象的销毁 141
7.7 小结 142
7.8 实践与练习 142
第8章 包装类 144
视频讲解:32分钟
8.1 Integer 145
8.2 Boolean 147
8.3 Byte 149
8.4 Character 150
8.5 Double 151
8.6 Number 152
8.7 小结 153
8.8 实践与练习 153
第9章 数字处理类 154
视频讲解:38分钟
9.1 数字格式化 155
9.2 数学运算 157
9.2.1 Math类 157
9.2.2 常用数学运算方法 158
9.3 随机数 162
9.3.1 Math.random()方法 162
9.3.2 Random类 164
9.4 大数字运算 165
9.4.1 BigInteger 165
9.4.2 BigDecimal 167
9.5 小结 170
9.6 实践与练习 170
第2篇 核心技术
第10章 接口、继承与多态 172
视频讲解:1小时30分钟
10.1 类的继承 173
10.2 Object类 176
10.3 对象类型的转换 178
10.3.1 向上转型 178
10.3.2 向下转型 179
10.4 使用instanceof操作符判断对象类型 180
10.5 方法的重载 182
10.6 多态 185
10.7 抽象类与接口 186
10.7.1 抽象类 186
10.7.2 接口 188
10.8 小结 190
10.9 实践与练习 191
第11章 类的高级特性 192
视频讲解:35分钟
11.1 Java类包 193
11.1.1 类名冲突 193
11.1.2 完整的类路径 193
11.1.3 创建包 194
11.1.4 导入包 195
11.2 final变量 197
11.3 final方法 199
11.4 final类 201
11.5 内部类 201
11.5.1 成员内部类 202
11.5.2 局部内部类 206
11.5.3 匿名内部类 206
11.5.4 静态内部类 207
11.5.5 内部类的继承 208
11.6 小结 209
11.7 实践与练习 209
第12章 异常处理 210
视频讲解:1小时8分钟
12.1 异常概述 211
12.2 处理程序异常错误 211
12.2.1 错误 212
12.2.2 捕捉异常 212
12.3 Java常见异常 214
12.4 自定义异常 215
12.5 在方法中抛出异常 216
12.5.1 使用throws关键字抛出异常 216
12.5.2 使用throw关键字抛出异常 217
12.6 运行时异常 219
12.7 异常的使用原则 219
12.8 小结 220
12.9 实践与练习 220
第13章 Swing程序设计 221
视频讲解:3小时2分钟
13.1 Swing概述 222
13.1.1 Swing特点 222
13.1.2 Swing包 222
13.1.3 常用Swing组件概述 223
13.2 常用窗体 223
13.2.1 JFrame窗体 223
13.2.2 JDialog窗体 225
13.3 标签组件与图标 227
13.3.1 标签的使用 227
13.3.2 图标的使用 228
13.4 常用布局管理器 230
13.4.1 绝对布局 231
13.4.2 流布局管理器 232
13.4.3 边界布局管理器 233
13.4.4 网格布局管理器 234
13.4.5 网格组布局管理器 236
13.5 常用面板 241
13.5.1 JPanel面板 242
13.5.2 JScrollPane面板 243
13.6 按钮组件 244
13.6.1 提交按钮组件 244
13.6.2 单选按钮组件 245
13.6.3 复选框组件 246
13.7 列表组件 247
13.7.1 下拉列表框组件 248
13.7.2 列表框组件 249
13.8 文本组件 251
13.8.1 文本框组件 251
13.8.2 密码框组件 252
13.8.3 文本域组件 253
13.9 常用事件监听器 254
13.9.1 监听事件简介 254
13.9.2 动作事件监听器 254
13.9.3 焦点事件监听器 256
13.10 小结 257
13.11 实践与练习 257
第14章 集合类 258
视频讲解:60分钟
14.1 集合类概述 259
14.2 Collection接口 259
14.3 List集合 260
14.3.1 List接口 260
14.3.2 List接口的实现类 261
14.4 Set集合 262
14.5 Map集合 264
14.5.1 Map接口 265
14.5.2 Map接口的实现类 266
14.6 小结 268
14.7 实践与练习 268
第15章 I/O(输入/输出) 269
视频讲解:1小时40分钟
15.1 流概述 270
15.2 输入/输出流 270
15.2.1 输入流 270
15.2.2 输出流 272
15.3 File类 273
15.3.1 文件的创建与删除 273
15.3.2 获取文件信息 274
15.4 文件输入/输出流 275
15.4.1 FileInputStream与FileOutputStream类 276
15.4.2 FileReader和FileWriter类 277
15.5 带缓存的输入/输出流 279
15.5.1 BufferedInputStream与BufferedOutputStream类 279
15.5.2 BufferedReader与BufferedWriter类 280
15.6 数据输入/输出流 281
15.7 ZIP压缩输入/输出流 283
15.7.1 压缩文件 283
15.7.2 解压缩ZIP文件 285
15.8 小结 286
15.9 实践与练习 287
第16章 反射 288
视频讲解:1小时3分钟
16.1 Class类与Java反射 289
16.1.1 访问构造方法 290
16.1.2 访问成员变量 293
16.1.3 访问方法 296
16.2 使用Annotation功能 299
16.2.1 定义Annotation类型 299
16.2.2 访问Annotation信息 302
16.3 小结 305
16.4 实践与练习 305
第17章 枚举类型与泛型 306
视频讲解:1小时20分钟
17.1 枚举类型 307
17.1.1 使用枚举类型设置常量 307
17.1.2 深入了解枚举类型 309
17.1.3 使用枚举类型的优势 314
17.2 泛型 314
17.2.1 回顾向上转型与向下转型 314
17.2.2 定义泛型类 315
17.2.3 泛型的常规用法 317
17.2.4 泛型的高级用法 320
17.2.5 泛型总结 322
17.3 小结 323
17.4 实践与练习 323
第18章 多线程 324
视频讲解:45分钟
18.1 线程简介 325
18.2 实现线程的两种方式 325
18.2.1 继承Thread类 326
18.2.2 实现Runnable接口 327
18.3 线程的生命周期 329
18.4 操作线程的方法 331
18.4.1 线程的休眠 331
18.4.2 线程的加入 333
18.4.3 线程的中断 334
18.4.4 线程的礼让 336
18.5 线程的优先级 336
18.6 线程同步 338
18.6.1 线程安全 338
18.6.2 线程同步机制 340
18.7 小结 342
18.8 实践与练习 342
第19章 网络通信 343
视频讲解:60分钟
19.1 网络程序设计基础 344
19.1.1 局域网与因特网 344
19.1.2 网络协议 344
19.1.3 端口和套接字 345
19.2 TCP程序设计基础 346
19.2.1 InetAddress类 346
19.2.2 ServerSocket类 347
19.2.3 TCP网络程序 348
19.3 UDP程序设计基础 351
19.3.1 DatagramPacket类 352
19.3.2 DatagramSocket类 352
19.3.3 UDP网络程序 353
19.4 小结 356
19.5 实践与练习 356
第20章 数据库操作 357
视频讲解:47分钟
20.1 数据库基础知识 358
20.1.1 什么是数据库 358
20.1.2 数据库的种类及功能 359
20.1.3 SQL语言 359
20.2 JDBC概述 361
20.2.1 JDBC-ODBC桥 361
20.2.2 JDBC技术 361
20.2.3 JDBC驱动程序的类型 362
20.3 JDBC中常用的类和接口 362
20.3.1 Connection接口 362
20.3.2 Statement接口 363
20.3.3 PreparedStatement接口 363
20.3.4 DriverManager类 364
20.3.5 ResultSet接口 364
20.4 数据库操作 365
20.4.1 连接数据库 365
20.4.2 向数据库发送SQL语句 367
20.4.3 处理查询结果集 367
20.4.4 顺序查询 367
20.4.5 模糊查询 368
20.4.6 预处理语句 370
20.4.7 添加、修改、删除记录 371
20.5 小结 373
20.6 实践与练习 373
第3篇 高级应用
第21章 Swing表格组件 375
视频讲解:33分钟
21.1 利用JTable类直接创建表格 376
21.1.1 创建表格 376
21.1.2 定制表格 378
21.1.3 操纵表格 382
21.2 表格模型与表格 384
21.2.1 利用表格模型创建表格 384
21.2.2 维护表格模型 386
21.3 提供行标题栏的表格 388
21.4 小结 392
21.5 实践与练习 392
第22章 Swing树组件 393
视频讲解:20分钟
22.1 简单的树 394
22.2 处理选中节点事件 395
22.3 遍历树节点 397
22.4 定制树 399
22.5 维护树模型 401
22.6 处理展开节点事件 404
22.7 小结 406
22.8 实践与练习 406
第23章 Swing其他高级组件 407
视频讲解:1小时30分钟
23.1 高级组件面板 408
23.1.1 分割面板 408
23.1.2 选项卡面板 410
23.1.3 桌面面板和内部窗体 413
23.2 菜 单 417
23.2.1 创建菜单栏 417
23.2.2 创建弹出式菜单 419
23.2.3 定制个性化菜单 420
23.3 工具 栏 424
23.4 文件选择器 425
23.4.1 文件选择对话框 425
23.4.2 使用文件过滤器 426
23.5 进 度 条 428
23.6 系 统 托 盘 429
23.7 桌面集成控件 431
23.8 小结 431
23.9 实践与练习 432
第24章 高级事件处理 433
视频讲解:1小时13分钟
24.1 键 盘 事 件 434
24.2 鼠 标 事 件 436
24.3 窗体事件 438
24.3.1 捕获窗体焦点变化事件 438
24.3.2 捕获窗体状态变化事件 439
24.3.3 捕获其他窗体事件 441
24.4 选项事件 442
24.5 表格模型事件 444
24.6 小结 446
24.7 实践与练习 447
第25章 AWT绘图 448
视频讲解:1小时24分钟
25.1 Java绘图 449
25.1.1 Graphics 449
25.1.2 Graphics2D 449
25.2 绘制图形 449
25.3 绘图颜色与画笔属性 453
25.3.1 设置颜色 453
25.3.2 画笔属性 454
25.4 绘制文本 455
25.4.1 设置字体 456
25.4.2 显示文字 456
25.5 绘制图片 457
25.6 图像处理 459
25.6.1 放大与缩小 459
25.6.2 图像翻转 461
25.6.3 图像旋转 463
25.6.4 图像倾斜 464
25.7 小结 466
25.8 实践与练习 466
第4篇 项目实战
第26章 奔跑吧,小恐龙! 468
视频讲解:54分钟
26.1 开发背景 469
26.2 系统结构设计 469
26.2.1 系统功能结构 469
26.2.2 系统业务流程 470
26.3 项目目录结构预览 470
26.4 游戏模型设计 471
26.4.1 恐龙类 471
26.4.2 障碍类 474
26.5 音效模块设计 475
26.5.1 音频播放器 476
26.5.2 音效工具类 477
26.6 计分器模块设计 478
26.7 视图模块设计 481
26.7.1 主窗体 481
26.7.2 游戏面板 483
26.7.3 成绩对话框 485
26.8 游戏核心功能设计 487
26.8.1 刷新帧 487
26.8.2 滚动背景 488
26.8.3 碰撞检测 499
26.8.4 键盘监听 490
26.9 小结 491
第27章 企业进销存管理系统 492
视频讲解:1小时12分钟
27.1 系统分析 493
27.1.1 需求分析 493
27.1.2 可行性分析 493
27.1.3 编写项目计划书 494
27.2 系统设计 496
27.2.1 系统目标 496
27.2.2 系统功能结构 496
27.2.3 系统业务流程图 497
27.2.4 系统编码规范 498
27.3 开发环境 499
27.4 数据库与数据表设计 500
27.4.1 数据库分析 500
27.4.2 创建数据库 500
27.4.3 创建数据表 501
27.5 创建项目 505
27.6 系统文件夹组织结构 506
27.7 公共类设计 506
27.7.1 Item公共类 506
27.7.2 数据模型公共类 507
27.7.3 Dao公共类 509
27.8 系统登录模块设计 519
27.8.1 设计登录窗体 519
27.8.2 “密码”文本框的回车事件 520
27.8.3 “登录”按钮的事件处理 520
27.9 系统主窗体设计 522
27.9.1 设计菜单栏 522
27.9.2 设计工具栏 524
27.9.3 设计状态栏 525
27.10 进货单模块设计 526
27.10.1 设计进货单窗体 527
27.10.2 添加进货商品 528
27.10.3 进货统计 529
27.10.4 商品入库 530
27.11 销售单模块设计 532
27.11.1 设计销售单窗体 533
27.11.2 添加销售商品 533
27.11.3 销售统计 534
27.11.4 商品销售 535
27.12 库存盘点模块设计 536
27.12.1 设计库存盘点窗体 537
27.12.2 读取库存商品 537
27.12.3 统计损益数量 539
27.13 数据库备份与恢复模块设计 540
27.13.1 设计窗体 540
27.13.2 文件浏览 540
27.13.3 备份数据库 541
27.13.4 恢复数据库 542
27.14 运行项目 543
27.15 开发常见问题与解决 544
27.15.1 无法打开内部窗体 544
27.15.2 “关于”界面被其他窗体覆盖 545
27.15.3 程序运行后没有出现闪屏界面 545
27.16 小结 545
出版日期:2019-10