第1章 初识Java 3
1.1 Java简介 4
1.1.1什么是Java语言 4
1.1.2 Java的应用领域 4
1.1.3 Java的版本 5
1.1.4怎样学好Java 6
1.1.5 Java API文档 7
1.2 Java特性 8
1.2.1简单 8
1.2.2面向对象 8
1.2.3分布性 8
1.2.4可移植性 8
1.2.5解释型 9
1.2.6安全性 9
1.2.7健壮性 9
1.2.8多线程 9
1.2.9高性能 9
1.2.10动态 9
1.3搭建Java环境 9
1.3.1 JDK下载 10
1.3.2 Windows系统的JDK环境 11
1.3.3 Linux系统的JDK环境 13
1.4第一个Java程序 14
1.5小结 16
1.6实践与练习 16
第2章 熟悉Eclipse开发工具 17
2.1熟悉Eclipse 18
2.1.1 Eclipse简介 18
2.1.2 Eclipse的安装、配置与启动 18
2.1.3 Eclipse工作台 20
2.1.4透视图与视图 20
2.1.5菜单栏 21
2.1.6工具栏 25
2.1.7“包资源管理器”视图 26
2.1.8“控制台”视图 26
2.2使用Eclipse 26
2.2.1创建Java项目 26
2.2.2创建Java类文件 27
2.2.3使用编辑器编写程序代码 28
2.2.4运行Java程序 30
2.3程序调试 30
2.4小结 31
2.5实践与练习 32
第3章Java语言基础 33
3.1 Java主类结构 34
3.1.1包声明 34
3.1.2声明成员变量和局部变量 34
3.1.3编写主方法 34
3.1.4导入API类库 35
3.2基本数据类型 35
3.2.1整数类型 35
3.2.2浮点类型 36
3.2.3字符类型 37
3.2.4布尔类型 38
3.3变量与常量 39
3.3.1标识符和关键字 39
3.3.2声明变量 40
3.3.3声明常量 40
3.3.4变量的有效范围 41
3.4运算符 42
3.4.1赋值运算符 43
3.4.2算术运算符 43
3.4.3自增和自减运算符 44
3.4.4比较运算符 45
3.4.5逻辑运算符 45
3.4.6位运算符 46
3.4.7三元运算符 48
3.4.8运算符优先级 48
3.5数据类型转换 49
3.5.1隐式类型转换 49
3.5.2显式类型转换 51
3.6代码注释与编码规范 51
3.6.1代码注释 51
3.6.2编码规范 52
3.7小结 53
3.8实践与练习 53
第4章 流程控制 55
4.1复合语句 56
4.2条件语句 56
4.2.1 if条件语句 57
4.2.2 switch多分支语句 61
4.3循环语句 63
4.3.1 while循环语句 63
4.3.2 dowhile循环语句 64
4.3.3 for循环语句 65
4.4小结 67
4.5实践与练习 67
第5章 字符串 69
5.1 String类 70
5.1.1声明字符串 70
5.1.2创建字符串 70
5.2连接字符串 71
5.2.1连接多个字符串 71
5.2.2连接其他数据类型 72
5.3获取字符串信息 73
5.3.1获取字符串长度 73
5.3.2字符串查找 73
5.3.3获取指定索引位置的字符 74
5.4字符串操作 75
5.4.1获取子字符串 75
5.4.2去除空格 76
5.4.3字符串替换 77
5.4.4判断字符串的开始与结尾 78
5.4.5判断字符串是否相等 78
5.4.6按字典顺序比较两个字符串 80
5.4.7字母大小写转换 80
5.4.8字符串分割 81
5.5格式化字符串 82
5.5.1日期和时间字符串格式化 83
5.5.2常规类型格式化 86
5.6使用正则表达式 87
5.7字符串生成器 89
5.8小结 90
5.9实践与练习 91
第6章 数组 93
6.1数组概述 94
6.2一维数组的创建及使用 94
6.2.1创建一维数组 94
6.2.2.初始化一维数组 95
6.2.3使用一维数组 96
6.3二维数组的创建及使用 96
6.3.1二维数组的创建 96
6.3.2二维数组初始化 98
6.3.3使用二维数组 98
6.4数组的基本操作 99
6.4.1遍历数组 99
6.4.2填充替换数组元素 100
6.4.3对数组进行排序 101
6.4.4复制数组 102
6.4.5数组查询 103
6.5小结 105
6.6使用实践 105
第7章 类和对象 107
7.1面向对象概述 108
7.1.1对象 108
7.1.2类 109
7.1.3封装 110
7.1.4继承 111
7.1.5多态 112
7.2类 113
7.2.1成员变量 113
7.2.2成员方法 113
7.2.3权限修饰符 114
7.2.4局部变量 115
7.2.5局部变量的有效范围 116
7.2.6 this关键字 117
7.3类的构造方法 117
7.4静态变量、常量和方法 118
7.5类的主方法 120
7.6对象 122
7.6.1对象的创建 122
7.6.2访问对象的属性和行为 123
7.6.3对象的引用 125
7.6.4对象的比较 126
7.6.5对象的销毁 127
7.7小结 127
7.8实践与练习 128
第8章 包装类 129
8.1 Integer 130
8.2 Long 132
8.3 Short 134
8.4 Boolean 135
8.5 Byte 136
8.6 Character 137
8.7 Double 138
8.8 Float 139
8.9 Number 140
8.10小结 141
8.11实践与练习 141
第9章 数字处理类 143
9.1数字格式 144
9.2数学运算 146
9.2.1 Math类 146
9.2.2常用数学运算方法 147
9.3随机数 150
9.3.1 Mathrandom()方法 150
9.3.2 Random类 152
9.4大数字 153
9.4.1 BigInteger 154
9.4.2 BigDecimal 155
9.5小结 157
9.6实践与练习 158
第10章 接口、继承与多态 161
10.1类的继承 162
10.2 Object类 165
10.3对象类型的转换 167
10.3.1向上转型 167
10.3.2向下转型 168
10.4 instanceof判断对象类型 169
10.5方法的重载 170
10.6多态 173
10.7抽象类与接口 175
10.7.1抽象类 175
10.7.2接口 176
10.8小结 179
10.9实践与练习 179
第11章 类的高级特性 181
11.1包 182
11.1.1类名冲突 182
11.1.2完整的类路径 182
11.1.3创建包 183
11.1.4导入类包 184
11.2 fiinal变量 185
11.3 fiinal方法 188
11.4 fiinal类 189
11.5内部类 190
11.5.1成员内部类 190
11.5.2局部内部类 194
11.5.3匿名类 195
11.5.4静态内部类 196
11.5.5内部类的继承 197
11.6小结 197
11.7实践与练习 197
第12章 异常处理 199
12.1异常概述 200
12.2处理程序异常错误 200
12.2.1错误 201
12.2.2捕捉异常 201
12.3 Java常见异常 203
12.4自定义异常 204
12.5在方法中抛出异常 205
12.5.1使用throws关键字抛出异常 205
12.5.2使用throw关键字抛出异常 206
12.6运行时异常 207
12.7异常的使用原则 208
12.8小结 208
12.9实践与练习 208
第13章Swing程序设计 209
13.1 Swing概述 210
13.1.1 Swing特点 210
13.1.2 Swing包 210
13.1.3常用Swing组件概述 211
13.2常用窗体 211
13.2.1 JFrame窗体 211
13.2.2 JDialog窗体 213
13.3标签组件与图标 214
13.3.1标签的使用 215
13.3.2图标的使用 215
13.4常用布局管理器 218
13.4.1绝对布局 218
13.4.2流(FlowLayout)布局管理器 219
13.4.3边界(BorderLayout)布局管理器 220
13.4.4网格(GridLayout)布局管理器 222
13.5常用面板 223
13.5.1 JPanel面板 223
13.5.2 JScrollPane面板 224
13.6按钮组件 225
13.6.1提交按钮(JButton)组件 225
13.6.2单选按钮(JRadioButton)组件 227
13.6.3复选框(JCheckBox)组件 227
13.7列表组件 229
13.7.1下拉列表框(JComboBox)组件 229
13.7.2列表框(JList)组件 231
13.8文本组件 232
13.8.1文本框(JTextField )组件 233
13.8.2密码框(JPasswordField )组件 234
13.8.3文本域(JTextArea)组件 234
13.9常用事件监听器 235
13.9.1监听事件简介 235
13.9.2动作事件(ActionEvent)监听器 235
13.9.3焦点事件(FocusEvent)监听器 237
13.10小结 238
13.11实践与练习 238
第14章 集合类 241
14.1集合类概述 242
14.2 Collection接口 242
14.3 List集合 243
14.3.1 List接口 243
14.3.2 List接口的实现类 244
14.4 Set集合 245
14.5 Map集合 247
14.5.1 Map接口 247
14.5.2 Map接口的实现类 248
14.6小结 250
14.7实践与练习 250
第15章I/O输入输出 251
15.1流概述 252
15.2输入输出流 252
15.2.1输入流 252
15.2.2输出流 254
15.3 File类 255
15.3.1文件的创建与删除 255
15.3.2获取文件信息 256
15.4文件输入输出流 257
15.4.1 FilelnputStream与FileOutputStream类 258
15.4.2 FileReader类和FileWriter类 259
15.5带缓存的输入输出流 261
15.5.1 BufferedInputStream与BufferedOutput-Stream类 261
15.5.2 BufferedReader与Bufferedwriter类 262
15.6数据输入输出流 263
15.7 ZIP压缩输入输出流 264
15.7.1压缩文件 265
15.7.2解压缩ZIP文件 266
15.8小结 268
15.9实践与练习 268
第16章 反射 269
16.1 Class类与Java反射 270
16.1.1访问构造方法 271
16.1.2访问成员变量 274
16.1.3访问方法 275
16.2使用Annotation功能 278
16.2.1定义Annotation类型 278
16.2.2访问Annotation信息 281
16.3小结 283
16.4实践与练习 284
第17章 枚举类型与泛型 285
17.1枚举类型 286
17.1.1使用枚举类型设置常量 286
17.1.2深入了解枚举类型 288
17.1.3使用枚举类型的优势 293
17.2泛型 293
17.2.1回顾“向上转型”与“向下转型” 293
17.2.2定义泛型类 294
17.2.3泛型的常规用法 296
17.2.4泛型的高级用法 299
17.2.5泛型总结 301
17.3小结 301
17.4实践与练习 302
第18章 多线程 303
18.1线程简介 304
18.2实现线程的两种方式 304
18.2.1继承Thread类 305
18.2.2实现Runnable接口 306
18.3线程的生命周期 308
18.4操作线程的方法 310
18.4.1线程的休眠 310
18.4.2线程的加入 311
18.4.3线程的中断 313
18.4.4线程的礼让 314
18.5线程的优先级 315
18.6线程同步 317
18.6.1线程安全 317
18.6.2线程同步机制 318
18.7线程间的通信 320
18.8小结 322
18.9实践与练习 322
第19章 网络通信 323
19.1网络程序设计基础 324
19.1.1局域网与因特网 324
19.1.2网络协议 324
19.1.3端口和套接字 325
19.2 TCP程序设计基础 326
19.2.1 InetAddress类 326
19.2.2 ServerSocket类 327
19.2.3 TCP网络程序 328
19.3 UDP程序设计基础 331
19.3.1 DatagramPacket类 332
19.3.2 DatagramSocket类 332
19.3.3 UDP网络程序 332
19.4小结 336
19.5实践与练习 336
第20章 数据库操作 337
20.1数据库基础知识 338
20.1.1什么是数据库 338
20.1.2数据库的种类及功能 339
20.1.3 SQL语言 339
20.2 JDBC概述 341
20.2.1 JDBC-ODBC桥 341
20.2.2 JDBC技术 342
20.2.3 JDBC驱动程序的类型 342
20.3 JDBC中常用的类和接口 342
20.3.1 Connection接口 343
20.3.2 Statement接口 343
20.3.3 PreparedStatement接口 344
20.3.4 DriverManager类 344
20.3.5 ResultSet接口 344
20.4数据库操作 345
20.4.1连接数据库 346
20.4.2向数据库发送SQL语句 347
20.4.3处理查询结果集 347
20.4.4顺序查询 347
20.4.5模糊查询 348
20.4.6预处理语句 349
20.4.7添加、修改、删除记录 351
20.5小结 352
20.6实践与练习 353
第21章Swing表格组件 357
21.1利用JTable类直接创建表格 358
21.1.1创建表格 358
21.1.2定制表格 360
21.1.3操纵表格 363
21.2表格模型与表格 365
21.2.1利用表格模型创建表格 365
21.2.2维护表格模型 366
21.3提供行标题栏的表格 369
21.4小结 372
21.5实践与练习 372
第22章Swing树组件 373
22.1简单的树 374
22.2处理选中节点事件 375
22.3遍历树节点 377
22.4定制树 379
22.5维护树模型 381
22.6处理展开节点事件 383
22.7小结 385
22.8实践与练习 385
第23章Swing其他高级组件 387
23.1高级组件面板 388
23.1.1分割面板 388
23.1.2选项卡面板 390
23.1.3桌面面板和内部窗体 392
23.2菜单 397
23.2.1创建菜单栏 397
23.2.2创建弹出式菜单 398
23.2.3定制个性化菜单 399
23.3工具栏 402
23.4文件选择器 404
23.4.1文件选择对话框 404
23.4.2使用文件过滤器 405
23.5进度条 406
23.6 系统托盘 408
23.7桌面集成控件 409
23.8小结 409
23.9实践与练习 410
第24章 高级布局管理器 411
24.1箱式(BoxLayout)布局管理器 412
24.2卡片(CardLayout)布局管理器 414
24.3网格组(GdBagLayout)布局管理器 416
24.4弹簧( SpngLayout)布局管理器 422
24.4.1使用弹簧布局管理器 423
24.4.2使用弹簧和支柱 425
24.4.3利用弹簧控制组件大小 426
24.5小结 427
24.6实践与练习 427
第25章 高级事件处理 429
25.1键盘事件 430
25.2鼠标事件(MouseEvent) 432
25.3窗体事件(WindowEvent) 434
25.3.1捕获窗体焦点变化事件 434
25.3.2捕获窗体状态变化事件 435
25.3.3捕获其他窗体事件 436
25.4选项事件(ItemEvent) 438
25.5表格模型事件(TableModelEvent) 439
25.6小结 442
25.7实践与练习 442
第26章AWT绘图与音频播放 443
26.1 Java绘图 444
26.1.1 Graphics 444
26.1.2 Graphics2D 444
26.2绘制图形 444
26.3绘图颜色与笔画属性 448
26.3.1设置颜色 448
26.3.2笔画属性 449
26.4绘制文本 450
26.4.1设置字体 451
26.4.2显示文字 451
26.5绘制图片 452
26.6图像处理 454
26.6.1放大与缩小 454
26.6.2图像翻转 456
26.6.3图像旋转 458
26.6.4图像倾斜 459
26.7播放音频文件 461
26.8小结 462
26.9实践与练习 462
第27章 打印技术 463
27.1打印控制类 464
27.2“打印”对话框 465
27.3打印页面 467
27.4多页打印 469
27.5打印预览 471
27.6小结 473
27.7实践与练习 473
第28章 企业进销存管理系统 477
28.1系统分析 478
28.1.1需求分析 478
28.1.2可行性分析 478
28.1.3编写项目计划书 479
28.2系统设计 481
28.2.1系统目标 481
28.2.2系统功能结构 481
28.2.3系统业务流程图 482
28.2.4系统编码规范 483
28.3开发环境 485
28.3.1.硬件开发环境 485
28.3.2软件开发环境 485
28.4数据库与数据表设计 485
28.4.1数据库分析 486
28.4.2创建数据库 486
28.4.3创建数据表 487
28.5创建项目 491
28.6系统文件夹组织结构 492
28.7公共类设计 493
28.7.1 Item公共类 493
28.7.2数据模型公共类 494
28.7.3 Dao公共类 496
28.8系统登录模块设计 502
28.8.1设计登录窗体 502
28.82“密码”文本框的回车事件 503
28.8.3“登录”按钮的事件处理 503
28.9系统主窗体设计 504
28.9.1设计菜单栏 504
28.9.2设计工具栏 508
28.9.3设计状态栏 509
28.10进货单模块设计 509
28.10.1设计进货单窗体 510
28.10.2添加进货商品 511
28.10.3进货统计 512
28.10.4商品入库 513
28.11 销售单模块设计 515
28.11.1设计销售单窗体 515
28.11.2添加销售商品 516
28.11.3销售统计 517
28.11.4商品销售 518
28.12库存盘点模块设计 519
28.12.1设计库存盘点窗体 520
28.12.2读取库存商品 520
28.12.3统计损益数量 521
28.13数据库备份与恢复模块设计 522
28.13.1设计窗体 522
28.13.2文件浏览 523
28.13.3备份数据库 524
28.13.4恢复数据库 524
28.14运行项目 525
28.15 系统打包发行 527
28.16开发常见问题与解决 530
28.16.1数据库无法访问 530
28.16.2打包的JAR文件无法登录 531
28.16.3数据库还原不成功 531
28.16.4数据库只读 531
28.16.5无法打开内部窗体 532
28.16.6“关于”界面被其他窗体覆盖 532
28.16.7打包JAR文件之后无法运行 532
28.16.8程序运行后没有出现闪屏界面 533
28.17小结 533