《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。全书分为28章,包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O(输入/输出),反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级布局管理器,高级事件处理,AWT绘图与音频播放,打印技术和企业进销存管理系统等。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。
java从入门到精通(第3版)目录
第1篇 基础知识
第1章 初识Java 2
视频讲解:34分钟
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 JavaAPI文档 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环境 11
1.4 第一个Java程序 15
1.5 小结 17
1.6 实践与练习 17
第2章 熟悉Eclipse开发工具 18
视频讲解:35分钟
2.1 熟悉Eclipse 19
2.1.1 Eclipse简介 19
2.1.2 下载Eclipse 19
2.1.3 安装Eclipse的中文语言包 21
2.1.4 Eclipse的配置与启动 23
2.1.5 Eclipse工作台 24
2.1.6 透视图与视图 25
2.1.7 菜单栏 25
2.1.8 工具栏 28
2.1.9 “包资源管理器”视图 29
2.1.10 “控制台”视图 30
2.2 使用Eclipse 30
2.2.1 创建Java项目 30
2.2.2 创建Java类文件 30
2.2.3 使用编辑器编写程序代码 31
2.2.4 运行Java程序 34
2.3 程序调试 34
2.4 小结 36
2.5 实践与练习 36
第3章 Java语言基础 37
视频讲解:37分钟
3.1 Java主类结构 38
3.1.1 包声明 38
3.1.2 声明成员变量和局部变量 39
3.1.3 编写主方法 39
3.1.4 导入API类库 39
3.2 基本数据类型 39
3.2.1 整数类型 40
3.2.2 浮点类型 41
3.2.3 字符类型 42
3.2.4 布尔类型 43
3.3 变量与常量 43
3.3.1 标识符和关键字 44
3.3.2 声明变量 44
3.3.3 声明常量 45
3.3.4 变量的有效范围 46
3.4 运算符 47
3.4.1 赋值运算符 48
3.4.2 算术运算符 49
3.4.3 自增和自减运算符 50
3.4.4 比较运算符 50
3.4.5 逻辑运算符 51
3.4.6 位运算符 52
3.4.7 三元运算符 54
3.4.8 运算符优先级 54
3.5 数据类型转换 55
3.5.1 隐式类型转换 56
3.5.2 显式类型转换 57
3.6 代码注释与编码规范 58
3.6.1 代码注释 58
3.6.2 编码规范 59
3.7 小结 60
3.8 实践与练习 60
第4章 流程控制 61
视频讲解:25分钟
4.1 复合语句 62
4.2 条件语句 62
4.2.1 if条件语句 63
4.2.2 switch多分支语句 67
4.3 循环语句 69
4.3.1 while循环语句 69
4.3.2 do…while循环语句 70
4.3.3 for循环语句 71
4.4 小结 74
4.5 实践与练习 74
第5章 字符串 75
视频讲解:38分钟
5.1 String类 76
5.1.1 声明字符串 76
5.1.2 创建字符串 76
5.2 连接字符串 77
5.2.1 连接多个字符串 78
5.2.2 连接其他数据类型 78
5.3 获取字符串信息 79
5.3.1 获取字符串长度 80
5.3.2 字符串查找 80
5.3.3 获取指定索引位置的字符 81
5.4 字符串操作 82
5.4.1 获取子字符串 82
5.4.2 去除空格 83
5.4.3 字符串替换 84
5.4.4 判断字符串的开始与结尾 85
5.4.5 判断字符串是否相等 86
5.4.6 按字典顺序比较两个字符串 87
5.4.7 字母大小写转换 88
5.4.8 字符串分割 89
5.5 格式化字符串 91
5.5.1 日期和时间字符串格式化 91
5.5.2 常规类型格式化 94
5.6 使用正则表达式 95
5.7 字符串生成器 97
5.8 小结 99
5.9 实践与练习 100
第6章 数组 101
视频讲解:51分钟
6.1 数组概述 102
6.2 一维数组的创建及使用 102
6.2.1 创建一维数组 102
6.2.2 初始化一维数组 103
6.2.3 使用一维数组 104
6.3 二维数组的创建及使用 104
6.3.1 二维数组的创建 105
6.3.2 二维数组初始化 106
6.3.3 使用二维数组 106
6.4 数组的基本操作 107
6.4.1 遍历数组 107
6.4.2 填充替换数组元素 108
6.4.3 对数组进行排序 110
6.4.4 复制数组 111
6.4.5 数组查询 112
6.5 数组排序算法 114
6.5.1 冒泡排序 114
6.5.2 直接选择排序 116
6.5.3 反转排序 118
6.6 小结 120
6.7 实践与练习 121
第7章 类和对象 122
视频讲解:57分钟
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 权限修饰符 129
7.2.4 局部变量 130
7.2.5 局部变量的有效范围 130
7.2.6 this关键字 131
7.3 类的构造方法 132
7.4 静态变量、常量和方法 133
7.5 类的主方法 135
7.6 对象 137
7.6.1 对象的创建 137
7.6.2 访问对象的属性和行为 138
7.6.3 对象的引用 140
7.6.4 对象的比较 141
7.6.5 对象的销毁 142
7.7 小结 143
7.8 实践与练习 143
第8章 包装类 144
视频讲解:19分钟
8.1 Integer 145
8.2 Boolean 147
8.3 Byte 149
8.4 Character 150
8.5 Double 151
8.6 Number 153
8.7 小结 153
8.8 实践与练习 153
第9章 数字处理类 154
视频讲解:21分钟
9.1 数字格式化 155
9.2 数学运算 157
9.2.1 Math类 158
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 166
9.4.2 BigDecimal 168
9.5 小结 171
9.6 实践与练习 171
第2篇 核心技术
第10章 接口、继承与多态 174
视频讲解:36分钟
10.1 类的继承 175
10.2 Object类 178
10.3 对象类型的转换 180
10.3.1 向上转型 180
10.3.2 向下转型 181
10.4 使用instanceof操作符判断对象类型 182
10.5 方法的重载 184
10.6 多态 187
10.7 抽象类与接口 189
10.7.1 抽象类 189
10.7.2 接口 190
10.8 小结 193
10.9 实践与练习 193
第11章 类的高级特性 194
视频讲解:29分钟
11.1 Java类包 195
11.1.1 类名冲突 195
11.1.2 完整的类路径 195
11.1.3 创建包 196
11.1.4 导入包 197
11.2 final变量 199
11.3 final方法 202
11.4 final类 203
11.5 内部类 204
11.5.1 成员内部类 204
11.5.2 局部内部类 208
11.5.3 匿名内部类 209
11.5.4 静态内部类 210
11.5.5 内部类的继承 211
11.6 小结 211
11.7 实践与练习 211
第12章 异常处理 212
视频讲解:23分钟
12.1 异常概述 213
12.2 处理程序异常错误 213
12.2.1 错误 214
12.2.2 捕捉异常 214
12.3 Java常见异常 216
12.4 自定义异常 217
12.5 在方法中抛出异常 218
12.5.1 使用throws关键字抛出异常 218
12.5.2 使用throw关键字抛出异常 219
12.6 运行时异常 221
12.7 异常的使用原则 221
12.8 小结 222
12.9 实践与练习 222
第13章 Swing程序设计 223
视频讲解:1小时2分钟
13.1 Swing概述 224
13.1.1 Swing特点 224
13.1.2 Swing包 224
13.1.3 常用Swing组件概述 225
13.2 常用窗体 225
13.2.1 JFrame窗体 225
13.2.2 JDialog窗体 227
13.3 标签组件与图标 229
13.3.1 标签的使用 229
13.3.2 图标的使用 230
13.4 常用布局管理器 232
13.4.1 绝对布局 233
13.4.2 流布局管理器 234
13.4.3 边界布局管理器 235
13.4.4 网格布局管理器 237
13.5 常用面板 238
13.5.1 JPanel面板 238
13.5.2 JScrollPane面板 239
13.6 按钮组件 240
13.6.1 提交按钮组件 240
13.6.2 单选按钮组件 242
13.6.3 复选框组件 243
13.7 列表组件 244
13.7.1 下拉列表框组件 244
13.7.2 列表框组件 246
13.8 文本组件 248
13.8.1 文本框组件 248
13.8.2 密码框组件 249
13.8.3 文本域组件 249
13.9 常用事件监听器 250
13.9.1 监听事件简介 251
13.9.2 动作事件监听器 251
13.9.3 焦点事件监听器 253
13.10 小结 254
13.11 实践与练习 254
第14章 集合类 255
视频讲解:24分钟
14.1 集合类概述 256
14.2 Collection接口 256
14.3 List集合 257
14.3.1 List接口 257
14.3.2 List接口的实现类 258
14.4 Set集合 259
14.5 Map集合 261
14.5.1 Map接口 261
14.5.2 Map接口的实现类 262
14.6 小结 264
14.7 实践与练习 264
第15章 I/O(输入/输出) 265
视频讲解:39分钟
15.1 流概述 266
15.2 输入/输出流 266
15.2.1 输入流 266
15.2.2 输出流 268
15.3 File类 269
15.3.1 文件的创建与删除 269
15.3.2 获取文件信息 270
15.4 文件输入/输出流 272
15.4.1 FileInputStream与FileOutputStream类 272
15.4.2 FileReader和FileWriter类 273
15.5 带缓存的输入/输出流 275
15.5.1 BufferedInputStream与BufferedOutputStream类 276
15.5.2 BufferedReader与BufferedWriter类 276
15.6 数据输入/输出流 278
15.7 ZIP压缩输入/输出流 279
15.7.1 压缩文件 280
15.7.2 解压缩ZIP文件 281
15.8 小结 283
15.9 实践与练习 283
第16章 反射 284
视频讲解:48分钟
16.1 Class类与Java反射 285
16.1.1 访问构造方法 286
16.1.2 访问成员变量 289
16.1.3 访问方法 291
16.2 使用Annotation功能 294
16.2.1 定义Annotation类型 294
16.2.2 访问Annotation信息 297
16.3 小结 300
16.4 实践与练习 300
第17章 枚举类型与泛型 301
视频讲解:22分钟
17.1 枚举类型 302
17.1.1 使用枚举类型设置常量 302
17.1.2 深入了解枚举类型 304
17.1.3 使用枚举类型的优势 309
17.2 泛型 310
17.2.1 回顾“向上转型”与“向下转型” 310
17.2.2 定义泛型类 311
17.2.3 泛型的常规用法 312
17.2.4 泛型的高级用法 316
17.2.5 泛型总结 318
17.3 小结 318
17.4 实践与练习 318
第18章 多线程 319
视频讲解:20分钟
18.1 线程简介 320
18.2 实现线程的两种方式 320
18.2.1 继承Thread类 321
18.2.2 实现Runnable接口 322
18.3 线程的生命周期 324
18.4 操作线程的方法 326
18.4.1 线程的休眠 326
18.4.2 线程的加入 328
18.4.3 线程的中断 329
18.4.4 线程的礼让 331
18.5 线程的优先级 332
18.6 线程同步 334
18.6.1 线程安全 334
18.6.2 线程同步机制 335
18.7 小结 337
18.8 实践与练习 338
第19章 网络通信 339
视频讲解:24分钟
19.1 网络程序设计基础 340
19.1.1 局域网与因特网 340
19.1.2 网络协议 340
19.1.3 端口和套接字 341
19.2 TCP程序设计基础 342
19.2.1 InetAddress类 342
19.2.2 ServerSocket类 343
19.2.3 TCP网络程序 344
19.3 UDP程序设计基础 348
19.3.1 DatagramPacket类 348
19.3.2 DatagramSocket类 349
19.3.3 UDP网络程序 349
19.4 小结 352
19.5 实践与练习 353
第20章 数据库操作 354
视频讲解:30分钟
20.1 数据库基础知识 355
20.1.1 什么是数据库 355
20.1.2 数据库的种类及功能 356
20.1.3 SQL语言 356
20.2 JDBC概述 358
20.2.1 JDBC-ODBC桥 358
20.2.2 JDBC技术 359
20.2.3 JDBC驱动程序的类型 359
20.3 JDBC中常用的类和接口 359
20.3.1 Connection接口 360
20.3.2 Statement接口 360
20.3.3 PreparedStatement接口 361
20.3.4 DriverManager类 361
20.3.5 ResultSet接口 361
20.4 数据库操作 362
20.4.1 连接数据库 363
20.4.2 向数据库发送SQL语句 364
20.4.3 处理查询结果集 364
20.4.4 顺序查询 365
20.4.5 模糊查询 366
20.4.6 预处理语句 367
20.4.7 添加、修改、删除记录 369
20.5 小结 371
20.6 实践与练习 371
第3篇 高级应用
第21章 Swing表格组件 374
视频讲解:59分钟
21.1 利用JTable类直接创建表格 375
21.1.1 创建表格 375
21.1.2 定制表格 377
21.1.3 操纵表格 381
21.2 表格模型与表格 383
21.2.1 利用表格模型创建表格 383
21.2.2 维护表格模型 385
21.3 提供行标题栏的表格 387
21.4 小结 392
21.5 实践与练习 392
第22章 Swing树组件 393
视频讲解:1小时4分钟
22.1 简单的树 394
22.2 处理选中节点事件 395
22.3 遍历树节点 397
22.4 定制树 399
22.5 维护树模型 402
22.6 处理展开节点事件 404
22.7 小结 406
22.8 实践与练习 406
第23章 Swing其他高级组件 407
视频讲解:1小时35分钟
23.1 高级组件面板 408
23.1.1 分割面板 408
23.1.2 选项卡面板 411
23.1.3 桌面面板和内部窗体 413
23.2 菜单 417
23.2.1 创建菜单栏 417
23.2.2 创建弹出式菜单 419
23.2.3 定制个性化菜单 420
23.3 工具栏 424
23.4 文件选择器 426
23.4.1 文件选择对话框 426
23.4.2 使用文件过滤器 427
23.5 进度条 428
23.6 系统托盘 430
23.7 桌面集成控件 431
23.8 小结 432
23.9 实践与练习 432
第24章 高级布局管理器 433
视频讲解:1小时40分钟
24.1 箱式布局管理器 434
24.2 卡片布局管理器 436
24.3 网格组布局管理器 439
24.4 弹簧布局管理器 445
24.4.1 使用弹簧布局管理器 445
24.4.2 使用弹簧和支柱 448
24.4.3 利用弹簧控制组件大小 449
24.5 小结 450
24.6 实践与练习 450
第25章 高级事件处理 451
视频讲解:33分钟
25.1 键盘事件 452
25.2 鼠标事件 454
25.3 窗体事件 456
25.3.1 捕获窗体焦点变化事件 456
25.3.2 捕获窗体状态变化事件 457
25.3.3 捕获其他窗体事件 459
25.4 选项事件 461
25.5 表格模型事件 462
25.6 小结 465
25.7 实践与练习 465
第26章 AWT绘图与音频播放 466
视频讲解:34分钟
26.1 Java绘图 467
26.1.1 Graphics 467
26.1.2 Graphics2D 467
26.2 绘制图形 467
26.3 绘图颜色与笔画属性 471
26.3.1 设置颜色 471
26.3.2 笔画属性 472
26.4 绘制文本 473
26.4.1 设置字体 474
26.4.2 显示文字 474
26.5 绘制图片 475
26.6 图像处理 477
26.6.1 放大与缩小 477
26.6.2 图像翻转 479
26.6.3 图像旋转 481
26.6.4 图像倾斜 482
26.7 播放音频文件 484
26.8 小结 486
26.9 实践与练习 486
第27章 打印技术 487
视频讲解:32分钟
27.1 打印控制类 488
27.2 “打印”对话框 489
27.3 打印页面 491
27.4 多页打印 493
27.5 打印预览 495
27.6 小结 497
27.7 实践与练习 497
第4篇 项目实战
第28章 企业进销存管理系统 500
视频讲解:1小时37分钟
28.1 系统分析 501
28.1.1 需求分析 501
28.1.2 可行性分析 501
28.1.3 编写项目计划书 502
28.2 系统设计 504
28.2.1 系统目标 504
28.2.2 系统功能结构 504
28.2.3 系统业务流程图 505
28.2.4 系统编码规范 506
28.3 开发环境 507
28.4 数据库与数据表设计 508
28.4.1 数据库分析 508
28.4.2 创建数据库 509
28.4.3 创建数据表 510
28.5 创建项目 513
28.6 系统文件夹组织结构 514
28.7 公共类设计 515
28.7.1 Item公共类 515
28.7.2 数据模型公共类 516
28.7.3 Dao公共类 518
28.8 系统登录模块设计 524
28.8.1 设计登录窗体 524
28.8.2 “密码”文本框的回车事件 525
28.8.3 “登录”按钮的事件处理 526
28.9 系统主窗体设计 527
28.9.1 设计菜单栏 527
28.9.2 设计工具栏 530
28.9.3 设计状态栏 531
28.10 进货单模块设计 531
28.10.1 设计进货单窗体 532
28.10.2 添加进货商品 533
28.10.3 进货统计 534
28.10.4 商品入库 536
28.11 销售单模块设计 538
28.11.1 设计销售单窗体 538
28.11.2 添加销售商品 539
28.11.3 销售统计 540
28.11.4 商品销售 541
28.12 库存盘点模块设计 542
28.12.1 设计库存盘点窗体 542
28.12.2 读取库存商品 543
28.12.3 统计损益数量 544
28.13 数据库备份与恢复模块设计 545
28.13.1 设计窗体 545
28.13.2 文件浏览 546
28.13.3 备份数据库 547
28.13.4 恢复数据库 548
28.14 运行项目 549
28.15 系统打包发行 551
28.16 开发常见问题与解决 553
28.16.1 数据库无法访问 553
28.16.2 打包的JAR文件无法登录 554
28.16.3 数据库还原不成功 555
28.16.4 数据库只读 555
28.16.5 无法打开内部窗体 555
28.16.6 “关于”界面被其他窗体覆盖 556
28.16.7 打包JAR文件之后无法运行 556
28.16.8 程序运行后没有出现闪屏界面 556
28.17 小结 557
附录A JDK 7改进的功能 558
A.1 语法 558
A.1.1 switch语句允许使用字符串 558
A.1.2 整型数据支持二进制形式 559
A.1.3 数值型数据中可以出现下划线 559
A.1.4 泛型实例的创建可以通过类型推断来简化 559
A.1.5 try-with-resources语句 560
A.1.6 改进了捕获多个异常时的类型检查 560
A.1.7 在可变参数方法中传递非具体化参数时,改进编译警告和错误 561
A.2 网络 562
A.3 Java2D 562
A.4 Swing 563
A.5 JavaI/O 563
A.6 并发 563
A.7 安全性 563
A.8 JavaXML 564
A.9 Java虚拟器(JVM) 564
- PC官方版
- 安卓官方手机版
- IOS官方手机版