第1篇 编程基础篇 3
第1课 学习Java前的准备 3
1.1 本课学习目标 3
1.2 Java概述 3
1.2.1 Java简介 3
1.2.2 Java特点 4
1.2.3 Java语言的应用前景 5
1.2.4 JDK、JRE和JVM 6
1.3 Java的开发环境 7
1.3.1 下载和安装JDK 7
1.3.2 设置环境变量 9
1.3.3 升级JDK 11
1.4 第一个Java程序 12
1.4.1 开发Java程序的步骤 12
1.4.2 编写Java程序 12
1.5 本课回顾和网络关键词 15
第2课 Java开发利器 17
2.1 本课学习目标 17
2.2 下载与安装Eclipse 17
2.2.1 Eclipse简介 17
2.2.2 Eclipse的下载 18
2.2.3 Eclipse的安装与汉化 19
2.3 新建一个Java项目 21
2.4 下载并安装NetBeans 23
2.5 用NetBeans开发第一个项目 26
2.6 本课回顾和网络关键词 29
第3课 数据类型和量 31
3.1 本课学习目标 31
3.2 Java的基本数据类型 31
3.2.1 整型 32
3.2.2 浮点类型 32
3.2.3 字符类型 33
3.2.4 布尔类型 35
3.3 Java标识符 36
3.4 Java关键字 36
3.5 量 36
3.5.1 常量 37
3.5.2 变量 37
3.6 数据类型的转换 39
3.6.1 自动类型转换 40
3.6.2 强制类型转换 42
3.7 本课回顾和网络关键词 43
第4课 运算符、表达式和字符串 45
4.1 本课学习目标 45
4.2 Java运算符 45
4.2.1 算术运算符 45
4.2.2 逻辑运算符和关系运算符 50
4.2.3 位运算符 53
4.2.4 赋值运算符 54
4.2.5 条件运算符 55
4.3 表达式 56
4.3.1 认识表达式 56
4.3.2 表达式的优先级 57
4.3.3 算术运算符与表达式 57
4.3.4 关系运算符与表达式 58
4.3.5 位运算符与表达式 59
4.4 字符串 60
4.4.1 初始化 60
4.4.2 String类方法 61
4.4.3 StringBuffer类方法 67
4.4.4 链接方法 69
4.5 本课回顾和网络关键词 69
第5课 Java的基本结构和控制语句 71
5.1 本课学习目标 71
5.2 基本结构 71
5.3 注释语句 72
5.4 顺序语句 74
5.5 条件语句 75
5.5.1 if控制语句 75
5.5.2 switch控制语句 79
5.6 本课回顾和网络关键词 85
第6课 循环和跳转语句 87
6.1 本课学习目标 87
6.2 for语句 87
6.3 for嵌套语句 90
6.4 while语句 92
6.5 do...while语句 94
6.6 跳转控制语句 97
6.6.1 break跳转语句 97
6.6.2 continue跳转语句 102
6.6.3 retum跳转语句 103
6.6.4 如何正确地使用跳转语句 105
6.7 本课回顾和网络关键词 107
第7课 数组 109
7.1 本课学习目标 109
7.2 一维数组 109
7.2.1 声明一维数组 110
7.2.2 创建一维数组 110
7.2.3 初始化一维数组 112
7.3 二维数组 114
7.3.1 声明二维数组 114
7.3.2 创建二维数组 114
7.3.3 初始化二维数组 116
7.3.4 使用二维数组 117
7.4 多维数组 119
7.4.1 声明多维数组 119
7.4.2 创建多维数组 119
7.4.3 初始化多维数组 119
7.4.4 应用多维数组 119
7.5 数组的操作 121
7.5.1 复制数组 121
7.5.2 排序数组 122
7.5.3 比较数组 123
7.5.4 搜索数组 124
7.5.5 填充数组 126
7.6 本课回顾和网络关键词 127
第8课 面向对象的初步 129
8.1 本课学习目标 129
8.2 Java对象基础 129
8.2.1 面向对象程序设计的概述 129
8.2.2 面向对象程序设计的特点 130
8.3 类 131
8.3.1 类的概念 131
8.3.2 构造方法 131
8.3.3 方法 133
8.4 this的用法 134
8.5 使用类和对象 134
8.5.1 创建和使用对象 135
8.5.2 使用静态修饰符 136
8.6 变量和方法的访问 137
8.6.1 public公共修饰符 137
8.6.2 protected保护修饰符 139
8.6.3 private私有修饰符 139
8.6.4 其他修饰符 140
8.7 抽象类和抽象方法 142
8.7.1 抽象类的概念及应用 142
8.7.2 抽象的规则 144
8.8 包 145
8.8.1 定义包 145
8.8.2 导入包 146
8.9 Java API 148
8.9.1 获得Java API手册 148
8.9.2 使用Java API手册 149
8.10 本课回顾和网络关键词 150
第9课 深入面向对象编程 151
9.1 本课学习目标 151
9.2 继承 151
9.2.1 继承 151
9.2.2 对象的使用 154
9.3 对父类进行访问 155
9.3.1 调用父类的构造方法 155
9.3.2 访问父类的变量和方法 158
9.3.3 多重次继承 159
9.4 重写 161
9.4.1 如何定义重写 161
9.4.2 重写规则 162
9.5 重载 166
9.6 接口 169
9.6.1 定义接口 169
9.6.2 接口常量和抽象方法 170
9.6.3 实现接口 171
9.7 内部类 174
9.7.1 如何定义内部类 174
9.7.2 如何正确理解内部类 176
9.8 本课回顾和网络关键词 176
第10课 初步图形编程——AWT 179
10.1 本课学习目标 179
10.2 AWT简介 179
10.3 创建简易用户界面 180
10.3.1 创建窗口 181
10.3.2 创建组件 182
10.4 布局管理器 184
10.4.1 FlowLayout布局管理器 184
10.4.2 BorderLayout布局管理器 186
10.4.3 GridLayout布局管理器 188
10.4.4 CardLayout布局管理器 191
10.4.5 Null布局管理器 193
10.5 组件和监听接口 196
10.5.1 按钮和ActionListener监听接口 196
10.5.2 窗口中的监听接口 198
10.5.3 文本组件和TextListener接口 199
10.6 本课回顾和网络关键词 201
第11课 图形编程流行工具——Swing 203
11.1 本课学习目标 203
11.2 什么是Swing 203
11.3 Swing窗口容器 204
11.3.1 JFrame简介和方法 204
11.3.2 使用Swing建立第一个窗口 204
11.4 Icon接口 206
11.4.1 Icon接口简介和方法 206
11.4.2 Icon接口应用 207
11.5 在Swing窗口中添加组件 210
11.5.1 按钮 210
11.5.2 弹出式菜单 212
11.5.3 单选按钮 217
11.5.4 复选框 219
11.5.5 列表框 220
11.5.6 选项卡 221
11.5.7 文本框 222
11.5.8 密码框 224
11.5.9 进度条 225
11.5.10 菜单 227
11.6 通过工具创建Swing窗口 228
11.6.1 新建窗口 228
11.6.2 绘制窗口组件 230
11.7 本课回顾和网络关键词 231
第12课 Java Applet多媒体开发 233
12.1 本课学习目标 233
12.2 什么是Java Applet 233
12.3 Applet运行状态 235
12.4 Applet多媒体 236
12.4.1 绘制图形 236
12.4.2 声音的处理 245
12.5 本课回顾和网络关键词 249
第13课 Java异常和异常捕获 251
13.1 本课学习目标 251
13.2 Java异常 251
13.2.1 异常处理基础 252
13.2.2 异常类 252
13.3 捕获异常 253
13.3.1 try...catch捕获异常 253
13.3.2 多异常捕获 254
13.3.3 try...catch...finally 256
13.4 抛出异常 257
13.4.1 throws抛出异常 257
13.4.2 throw抛出异常 260
13.4.3 创建自定义异常 261
13.5 异常处理原则 264
13.6 本课回顾和网络关键词 265
第14课 I/O体系和File处理 267
14.1 本课学习目标 267
14.2 I/O体系 267
14.3 Java的字节输入/输出流 268
14.3.1 访问和使用文件信息 268
14.3.2 快捷方式读取特定信息 272
14.3.3 引入缓冲流读取文件 274
14.4 Java的字符输入/输出流 277
14.4.1 如何读写字符文件 277
14.4.2 如何提供I/O流操作效率 281
14.4.3 通过字符读取文件及写入 282
14.5 常用I/O处理文件 283
14.5.1 什么是文件类 283
14.5.2 通过文件类处理文件 285
14.6 本课回顾和网络关键词 286
第15课 多线程 289
15.1 本课学习目标 289
15.2 什么是多线程 289
15.2.1 什么是线程 289
15.2.2 什么是多线程 290
15.2.3 Java中的多线程 290
15.3 线程的创建 290
15.3.1 主线程的创建 290
15.3.2 实现Runnable接口创建线程 291
15.3.3 继承Thread类创建多线程 292
15.3.4 两种方法的比较 294
15.3.5 创建多线程 294
15.4 线程的生命周期 296
15.5 线程的调度 297
15.5.1 线程的优先级 297
15.5.2 join()方法 300
15.5.3 sleep()方法 303
15.5.4 yield()方法 306
15.6 多线程的同步 307
15.6.1 同步的必要性 307
15.6.2 实现同步 308
15.6.3 死锁 311
15.7 线程与线程的通信 312
15.8 本课回顾和网络关键词 315
第2篇 技术提高篇 319
第16课 网络通信 319
16.1 本课学习目标 319
16.2 Java网络通信概述 319
16.2.1 TCP/IP协议 319
16.2.2 使用URL进行网络链接 320
16.3 Socket和ServerSocket 323
16.3.1 创建Socket 323
16.3.2 多客户链接 326
16.4 网络通信的综合应用 327
16.5 本课回顾和网络关键词 331
第17课 HTML和XML 333
17.1 本课学习目标 333
17.2 HTML概述 333
17.2.1 HTML的基本结构 333
17.2.2 HTML的标记特性 334
17.3 字体格式设置 335
17.3.1 标题的设置 335
17.3.2 将字体加粗、倾斜和加底线 335
17.3.3 将字体加上删除线、打字体和上标标记 336
17.3.4 设定字体大小、颜色、字形标记 337
17.4 标识标记的使用 338
17.5 区域和段落标记的使用 339
17.5.1 <hr>水平线 339
17.5.2 <p>……</p>段落标记 340
17.6 表格标记的使用 341
17.6.1 <table>容器标记 341
17.6.2 表格标题 342
17.6.3 表格中的标题栏 343
17.7 表单标记的使用 344
17.7.1 表单容器 344
17.7.2 单行文本框 345
17.7.3 密码文本框 345
17.7.4 单选按钮 346
17.7.5 多行文本框和按钮 347
17.8 创建HTML最好的工具Dreamweaver 348
17.9 XML 350
17.9.1 XML的概述 350
17.9.2 XML的语法 350
17.9.3 如何获取XML文档 351
17.10 本课回顾和网络关键词 353
第18课 Java的网页标记语言——JSP 355
18.1 本课学习目标 355
18.2 搭建与开发JSP的运行环境 355
18.2.1 Tomcat的安装与启动 355
18.2.2 MyEclipse的安装 357
18.2.3 部署开发环境 360
18.3 了解JSP基本构成和JSP的注释 361
18.3.1 了解JSP基本语法 361
18.3.2 JSP的注释 362
18.4 JSP的指令标识 362
18.4.1 page指令 362
18.4.2 include指令 364
18.5 JSP的动作标识 365
18.5.1 param动作 365
18.5.2 forward动作 365
18.5.3 include动作 366
18.5.4 plugin动作 367
18.5.5 useBean动作 369
18.6 JSP的内置对象 370
18.6.1 request对象 370
18.6.2 response对象 373
18.6.3 session对象 376
18.6.4 out对象 381
18.6.5 application对象 382
18.6.6 其他内置对象 387
18.7 本课回顾和网络关键词 391
第19课 JavaBean组件 393
19.1 本课学习目标 393
19.2 JavaBean概述 393
19.2.1 JavaBean技术简述 394
19.2.2 JavaBean的种类 394
19.3 JavaBean的属性 396
19.3.1 使用simple属性 396
19.3.2 使用indexed属性 397
19.3.3 使用bound属性 398
19.3.4 使用constrained属性 398
19.4 JavaBean的方法 399
19.5 JavaBean作用域 402
19.5.1 page的作用域 402
19.5.2 requst的作用域 402
19.5.3 session的作用域 402
19.5.4 application的作用域 403
19.6 JavaBean的移除 403
19.7 应用程序和JavaBean 407
19.8 本课回顾和网络关键词 409
第20课 神奇的Servlet 411
20.1 本课学习目标 411
20.2 什么是Servlet 411
20.2.1 Servlet技术简述 411
20.2.2 Servlet技术特性 412
20.2.3 Servlet的生命周期 413
20.3 如何开发一个简单的Servlet 413
20.3.1 开发一个简单的Servlet 414
20.3.2 编译并发布Servlet 414
20.4 Servlet的常用接口和类 419
20.4.1 与Servlet配置相关的接口 419
20.4.2 Servlet编程接口 419
20.4.3 HttpServlet类 421
20.4.4 请求与响应 424
20.4.5 会话 427
20.4.6 Servlet上下文 430
20.4.7 Servlet监听 431
20.5 Servlet过滤器 432
20.5.1 过滤器的简介 432
20.5.2 过滤器的应用 433
20.5.3 Servlet过滤器的配置 434
20.5.4 Servlet过滤器的实例 434
20.6 将请求进行封装 436
20.6.1 doGet 436
20.6.2 doPost 438
20.7 异常 440
20.8 本课回顾和网络关键词 440
第21课 数据库 443
21.1 本课学习目标 443
21.2 什么是数据库 443
21.2.1 数据库的主要特点 443
21.2.2 常用的数据库软件 444
21.3 MySQL数据库下载与安装 445
21.3.1 MySQL数据库下载 446
21.3.2 MySQL数据库的安装 447
21.4 MySQL数据库的管理软件 452
21.5 MySQL数据库的简单操作 454
21.5.1 创建数据库用户 454
21.5.2 创建数据库 456
21.5.3 创建数据库表 457
21.5.4 插入记录 458
21.5.5 备份数据库 459
21.5.6 还原数据库 460
21.6 本课回顾和网络关键词 460
第22课 JDBC技术和SQL语句 463
22.1 本课学习目标 463
22.2 JDBC概述 463
22.2.1 JDBC-ODBC桥技术简述 463
22.2.2 JDBC驱动类型 464
22.3 连接数据库 465
22.3.1 下载Java连接MySQL的驱动 466
22.3.2 配置MySQL的驱动 466
22.3.3 配置Eclipse的驱动 467
22.3.4 连接数据库的程序 468
22.3.5 连接其他数据库的程序 470
22.4 SQL语句 471
22.4.1 select语句 472
22.4.2 insert语句 472
22.4.3 delete语句 473
22.4.4 update语句 473
22.4.5 order by语句 473
22.4.6 其他的SQL语句 473
22.5 JDBC常用接口和类 475
22.5.1 DriverManager类 475
22.5.2 Connection接口 475
22.5.3 Statement接口 476
22.5.4 PreparedStatement接口 476
22.5.5 CallableStatement接口 477
22.5.6 ResultSet接口 478
22.6 本课回顾和网络关键词 478
第3篇 综合应用篇 483
第23课 项目开发案例:画图板 483
23.1 系统概述与预览 483
23.1.1 软件概述 483
23.1.2 软件预览 484
23.2 创建软件的准备 487
23.2.1 搜集素材 487
23.2.2 别忘记获得Java API手册 488
23.3 编程软件 488
23.3.1 创建一个类 488
23.3.2 菜单栏和标题栏的程序 489
23.3.3 保存文档的程序 492
23.3.4 界面的实现 494
23.3.5 调色盘实现 500
23.3.6 中央画布的实现 506
23.3.7 输入字体的实现 509
23.3.8 打开旧文档的实现 510
23.3.9 其他功能的实现 516
第24课 项目开发案例:管理系统 521
24.1 系统概述与预览 521
24.1.1 软件概述 521
24.1.2 系统预览 522
24.2 系统设计与分析 523
24.2.1 数据库的建立 524
24.2.2 下载并安装SQL Server JDBC驱动 526
24.2.3 登录窗口的编写 527
24.2.4 主窗口的编写 529
24.2.5 连接数据库和数据库的操作 534
24.2.6 读取数据库信息 534
24.2.7 对数据库的信息的修改 536
24.2.8 对数据库里退货信息的操作 540
24.2.9 实现商品的增加、修改和删除的功能设计 545
24.2.10 进货功能的实现 552
24.2.11 将组件添加到容器中 557
24.2.12 销售管理功能的实现 560
24.2.13 如何在本机上运行系统 570