Chapter 01 从零开始学Java 2
1.1 Java语言发展历史 2
1.2 Java语言特点 3
1.3 Java程序的运行机制 4
1.4 Java开发环境的建立 5
1.4.1 JDK的安装 5
1.4.2 系统环境变量的设置 10
1.5 创建第一个Java应用程序 13
1.5.1 编写源程序 13
1.5.2 编译和运行执行程序 14
本章小结 17
项目练习 17
Chapter 02 熟悉Eclipse开发环境 19
2.1 Eclipse简介 19
2.2 Eclipse下载 19
2.3 Eclipse安装 21
2.4 Eclipse配置与启动 22
2.5 Eclipse开发Java应用程序 24
2.5.1 选择透视图 24
2.5.2 新建Java项目 25
2.5.3 编写Java代码 26
2.5.4 编译和执行程序 28
2.5.5 调试程序 29
本章小结 32
项目练习 32
Chapter 03 Java语言基础 34
3.1 标识符和关键字 34
3.1.1 标识符 34
3.1.2 关键字 34
3.2 基本数据类型 35
3.2.1 整数类型 36
3.2.2 浮点类型 36
3.2.3 字符类型 37
3.2.4 布尔类型 37
3.3 常量和变量 38
3.3.1 常量 38
3.3.2 变量 39
3.3.3 变量作用域 39
3.4 运算符 41
3.4.1 赋值运算符 41
3.4.2 算术运算符 42
3.4.3 比较运算符 43
3.4.4 逻辑运算符 44
3.4.5 位运算符 45
3.4.6 条件运算符 47
3.4.7 运算符的优先级与结合性 48
3.5 数据类型转换 49
3.5.1 隐式类型转换 49
3.5.2 显式类型转换 49
3.6 Java注释语句 50
3.6.1 单行注释 50
3.6.2 多行注释 50
3.6.3 文档注释 51
本章小结 52
项目练习 52
Chapter 04 流程控制 54
4.1 分支语句 54
4.1.1 if语句 54
4.1.2 if-else语句 55
4.1.3 if-else嵌套语句 56
4.1.4 switch语句 57
4.2 循环语句 59
4.2.1 while语句 59
4.2.2 do-while语句 60
4.2.3 for语句 61
4.2.4 循环语句嵌套 62
4.3 跳转语句 63
4.3.1 break语句 63
4.3.2 continue语句 64
本章小结 65
项目练习 65
Chapter 05 面向对象程序设计基础 67
5.1 面向对象程序设计概述 67
5.1.1 面向过程的程序设计 67
5.1.2 面向对象的程序设计 67
5.2 类与对象 70
5.2.1 类的定义 70
5.2.2 创建对象 72
5.2.3 成员变量 72
5.2.4 成员方法 72
5.2.5 成员变量和成员方法的使用 73
5.2.6 类对象的应用 75
5.3 类的构造方法 79
5.3.1 构造方法的定义 79
5.3.2 构造方法的一些细节 81
5.4 访问说明符和修饰符 83
5.4.1 访问说明符(public、protected、private) 83
5.4.2 修饰符 85
5.5 main()方法 86
5.6 this引用 87
5.7 重载 90
5.7.1 方法重载 90
5.7.2 构造方法的重载 92
5.8 方法中的参数传递 94
5.8.1 传值调用 94
5.8.2 引用调用 95
5.8.3 命令行参数的使用 96
5.9 static、final修饰符的应用 97
5.9.1 static关键字的使用 97
5.9.2 final关键字的使用 101
本章小结 103
项目练习 103
Chapter 06 字符串类 107
6.1 String类 107
6.2 StringBuffer类 115
本章小结 119
项目练习 119
Chapter 07 数组 121
7.1 一维数组 121
7.1.1 声明数组 121
7.1.2 分配空间 121
7.1.3 一维数组的初始化 122
7.1.4 一维数组的应用 122
7.2 多维数组 123
7.2.1 声明多维数组 123
7.2.2 分配空间 124
7.2.3 多维数组的初始化 125
7.2.4 多维数组的应用 125
本章小结 127
项目练习 127
Chapter 08 包装类 129
8.1 包装类概述 129
8.2 Integer 129
8.3 Boolean 132
8.4 Byte 132
8.5 Character 133
8.6 Double 134
本章小结 136
项目练习 136
Chapter 09 数字处理类 138
9.1 数字格式化 138
9.2 数学运算 140
9.2.1 Math类的属性和方法 140
9.2.2 Math类的应用 141
9.3 随机数处理类Random 142
本章小结 146
项目练习 146
Chapter 10 日期类 148
10.1 Date类 148
10.2 Calendar类 149
10.3 DateFormat类 153
10.4 SimpleDateFormat类 154
本章小结 156
项目练习 156
Chapter 11 继承与多态 158
11.1 继承的概述 158
11.2 继承机制 159
11.2.1 继承的定义 159
11.2.2 类中属性的继承与覆盖 164
11.2.3 类中方法的继承与覆盖 166
11.2.4 继承的传递性 168
11.2.5 在子类中使用构造方法 169
11.2.6 super关键字 171
11.3 多态性 174
11.3.1 多态性概述 174
11.3.2 静态多态性 174
11.3.3 动态调用 175
11.3.4 父类对象与子类对象间的类型转化 176
本章小结 178
项目练习 178
Chapter 12 抽象类与接口 182
12.1 抽象类 182
12.1.1 抽象类的定义 182
12.1.2 抽象类的使用 183
12.2 接口 189
12.2.1 接口定义 189
12.2.2 接口的使用 190
本章小结 192
项目练习 192
Chapter 13 内部类与包 199
13.1 内部类 199
13.2 包 204
13.2.1 package语句的定义及使用 204
13.2.2 包引用 205
13.2.3 编译和运行包 206
13.2.4 Jar包 206
13.2.5 JDK中的常用包 207
本章小结 208
项目练习 208
Chapter 14 常用集合 212
14.1 集合简介 212
14.2 无序列表 214
14.3 有序列表 217
14.4 映射 220
14.4.1 Map接口 220
14.4.2 Map接口的实现类 221
14.5 集合的遍历 224
14.6 泛型 227
14.6.1 泛型简介 227
14.6.2 泛型类 228
14.6.3 泛型方法 229
14.6.4 通配类型参数 230
本章小结 232
项目练习 232
Chapter 15 Java异常处理 235
15.1 异常概述 235
15.1.1 Java的异常处理机制 235
15.1.2 Java中异常的类型 236
15.2 捕捉异常 239
15.3 声明异常和抛出异常 247
15.3.1 使用throws子句声明异常 247
15.3.2 throw语句 248
15.3.3 使用异常处理语句的注意事项 250
15.4 自定义异常 251
本章小结 254
项目练习 254
Chapter 16 Swing图形用户界面设计 256
16.1 Swing概述 256
16.2 常用容器类 257
16.2.1 顶层容器 257
16.2.2 中间容器——面板类 259
16.2.3 中间容器——滚动面板类 260
16.3 布局管理器 262
16.3.1 FlowLayout布局管理器 262
16.3.2 BorderLayout布局管理器 264
16.3.3 GridLayout布局管理器 266
16.3.4 CardLayout布局管理器 267
16.3.5 BoxLayout布局管理器 268
16.4 Java的GUI事件处理 272
16.4.1 事件处理模型 272
16.4.2 事件及监听者 275
16.4.3 窗口事件 277
16.5 事件适配器 279
16.5.1 键盘事件 280
16.5.2 鼠标事件 281
16.6 Swing基本组件 284
16.6.1 标签(JLabel) 285
16.6.2 文本组件 285
16.6.3 按钮组件 288
16.6.4 组合框 296
16.6.5 列表框(JList) 298
本章小结 302
项目练习 302
Chapter 17 I/O处理 304
17.1 Java输入/输出基础 304
17.1.1 流的概念 304
17.1.2 Java流类的层次结构 304
17.1.3 预定义流 306
17.2 Java流相关类 307
17.2.1 字节流 308
17.2.2 字符流 319
17.3 文件的读写 329
17.3.1 文件的读写方法 329
17.3.2 File类 330
17.4 流的转换 333
17.5 对象流和序列化 336
17.5.1 序列化的概念 336
17.5.2 ObjectOutputStream 337
17.5.3 ObjectInputStream 338
17.5.4 定制序列化 341
本章小结 342
项目练习 343
Chapter 18 多线程编程 345
18.1 线程概述 345
18.1.1 线程基本概念 345
18.1.2 Java线程的运行机制 345
18.2 创建线程 347
18.2.1 继承Thread类创建线程 347
18.2.2 通过Runnable接口创建线程 349
18.2.3 通过Callable接口和Future接口创建线程 351
18.3 线程的生命周期 353
18.4 线程调度 356
18.4.1 线程睡眠——sleep 356
18.4.2 线程让步——yield 357
18.4.3 线程协作——join 359
18.4.4 线程优先级 361
18.4.5 守护线程 362
18.5 线程同步 364
18.5.1 多线程引发的问题 364
18.5.2 同步代码块 366
18.5.3 同步方法 368
18.5.4 线程间通信 370
18.5.5 死锁 373
本章小结 375
项目练习 375
Chapter 19 数据库编程 377
19.1 数据库概述 377
19.1.1 数据库的概念 377
19.1.2 数据库的分类与特点 377
19.1.3 关系数据库 378
19.1.4 数据定义语言 378
19.1.5 数据操纵语言 380
19.1.6 数据查询语言 381
19.2 JDBC基础 381
19.2.1 JDBC简介 381
19.2.2 JDBC驱动程序类型 383
19.3 使用JDBC访问数据库 384
19.3.1 JDBC使用基本流程 384
19.3.2 加载数据库驱动程序 385
19.3.3 连接数据库 386
19.3.4 执行数据库操作 388
19.3.5 结果集的访问与处理 391
19.3.6 JDBC的关闭操作 391
19.4 数据库编程实例 391
19.4.1 创建数据库 392
19.4.2 建立数据库连接 393
19.4.3 创建数据库表 398
19.4.4 向数据表中添加数据 400
19.4.5 修改数据表中的数据 401
19.4.6 删除数据表中的记录 402
19.4.7 查询数据表中的数据 403
本章小结 405
项目练习 406
Chapter 20 网络编程 408
20.1 网络相关知识 408
20.1.1 网络协议 408
20.1.2 IP地址和端口 410
20.1.3 Java网络程序设计技术 410
20.2 Java常用网络编程类 411
20.2.1 InetAddress类 411
20.2.2 URL类 413
20.2.3 URLConnection类 416
20.3 基于TCP的Socket编程 419
20.3.1 网络套接字Socket 420
20.3.2 Socket类 420
20.3.3 ServerSocket类 422
20.4 基于UDP的Socket编程 425
20.4.1 DatagramPacket类 425
20.4.2 DatagramSocket类 426
20.4.3 MulticastSocket类 431
20.5 网络编程应用实例 437
本章小结 442
项目练习 442
Chapter 21 Swing表格和树组件 444
21.1 表格 444
21.1.1 JTable的简单用法 444
21.1.2 TableModel 448
21.1.3 AbstractTableModel 448
21.1.4 TableColumnModel 450
21.1.5 DefaultTableModel 452
21.2 树 455
本章小结 459
项目练习 459
Chapter 22 Swing菜单和对话框组件 461
22.1 菜单 461
22.1.1 认识菜单组件 461
22.1.2 弹出式菜单 465
22.2 对话框 466
22.2.1 对话框(JDialog) 466
22.2.2 标准对话框(JOptionPane) 468
22.2.3 文件对话框(JFileChooser) 471
本章小结 474
项目练习 474
Chapter 23 进销存管理系统——系统分析 476
23.1 需求描述 476
23.2 用例图 477
23.2.1 进销存系统用例图 477
23.2.2 基本信息维护用例图 478
23.2.3 进货用例图 479
23.2.4 销售用例图 480
23.2.5 库存用例图 481
23.2.6 系统管理用例图 481
23.3 开发运行环境需求 482
23.3.1 硬件环境 482
23.3.2 软件环境 482
本章小结 483
项目练习 483
Chapter 24 进销存管理系统——系统设计 485
24.1 系统目标 485
24.2 系统功能结构 485
24.3 数据库与数据表设计 486
24.3.1 系统数据库的概念设计 486
24.3.2 系统数据库的物理设计 489
24.4 系统文件夹组织结构 493
本章小结 494
项目练习 494
Chapter 25 进销存管理系统——系统实现 496
25.1 公共类设计 496
25.2 系统登录模块设计 507
25.2.1 登录窗口设计效果 507
25.2.2 登录窗口设计与按钮的事件处理 508
25.3 系统主窗体设计 510
25.4 进货单模块设计 515
25.5 售货模块设计 519
25.6 库存管理模块设计 527
25.7 查询统计模块设计 531
25.8 系统打包与发布 536
本章小结 538
项目练习 538