第1章 初识Java 1
1.1 什么是Java语言 1
1.1.1 Java语言历史 1
1.1.2 Java的运行机制 2
1.2 Java语言现状 2
1.3 Java语言特性 3
1.3.1 简单 3
1.3.2 面向对象 3
1.3.3 分布性 3
1.3.4 可移植性 3
1.3.5 解释型 4
1.3.6 安全性 4
1.3.7 健壮性 4
1.3.8 多线程 4
1.3.9 高性能 4
1.3.10 动态 4
1.4 JDK的下载和安装 4
1.4.1 下载JDK 4
1.4.2 安装JDK 6
1.4.3 配置JDK 8
1.5 第一个Java程序 9
1.5.1 编写源代码 10
1.5.2 编译源代码 10
1.5.3 运行class文件 10
1.6 综合实例——用星号绘制等腰三角形 11
知识点提炼 12
习题 12
实验:验证Java开发环境 12
实验目的 12
实验内容 12
实验步骤 13
第1章 初识Java 1
1.1 什么是Java语言 1
1.1.1 Java语言历史 1
1.1.2 Java的运行机制 2
1.2 Java语言现状 2
1.3 Java语言特性 3
1.3.1 简单 3
1.3.2 面向对象 3
1.3.3 分布性 3
1.3.4 可移植性 3
1.3.5 解释型 4
1.3.6 安全性 4
1.3.7 健壮性 4
1.3.8 多线程 4
1.3.9 高性能 4
1.3.10 动态 4
1.4 JDK的下载和安装 4
1.4.1 下载JDK 4
1.4.2 安装JDK 6
1.4.3 配置JDK 8
1.5 第一个Java程序 9
1.5.1 编写源代码 10
1.5.2 编译源代码 10
1.5.3 运行class文件 10
1.6 综合实例——用星号绘制等腰三角形 11
知识点提炼 12
习题 12
实验:验证Java开发环境 12
实验目的 12
实验内容 12
实验步骤 13
第2章 Eclipse开发工具 14
2.1 Eclipse简介 14
2.2 Eclipse安装与汉化 14
2.2.1 下载Eclipse 14
2.2.2 安装Eclipse 15
2.2.3 启动Eclipse 16
2.2.4 汉化Eclipse 17
2.3 第一个Java项目 19
2.3.1 创建Java项目 19
2.3.2 创建类文件 19
2.3.3 编写程序代码 19
2.3.4 运行Java程序 20
2.3.5 以调试方式运行程序 20
2.4 综合实例——在Eclispe中输出字符表情 21
知识点提炼 21
习题 21
实验:设置API提示信息 22
实验目的 22
实验内容 22
实验步骤 22
第3章 Java语言基础 24
3.1 Java程序的基本结构 24
3.2 标识符和关键字 26
3.2.1 标识符 26
3.2.2 关键字 26
3.3 基本数据类型 27
3.3.1 整数类型 27
3.3.2 浮点类型 29
3.3.3 字符类型 30
3.3.4 布尔类型 31
3.4 变量与常量 31
3.4.1 声明变量 31
3.4.2 声明常量 32
3.4.3 变量的有效范围 32
3.5 运算符 33
3.5.1 赋值运算符 33
3.5.2 算术运算符 33
3.5.3 自增和自减运算符 34
3.5.4 比较运算符 34
3.5.5 逻辑运算符 35
3.5.6 位运算符 36
3.5.7 三元运算符 38
3.5.8 运算符优先级 39
3.6 类型转换 39
3.6.1 自动类型转换 40
3.6.2 强制类型转换 40
3.7 代码注释和编码规范 40
3.7.1 代码注释 41
3.7.2 编码规范 42
3.8 综合实例——使用位运算加密字符串 42
知识点提炼 43
习题 43
实验:实现两个变量的互换 44
实验目的 44
实验内容 44
实验步骤 44
第4章 流程控制 45
4.1 复合语句 45
4.2 分支结构 46
4.2.1 if条件语句 46
4.2.2 switch多分支语句 49
4.3 循环语句 51
4.3.1 while循环语句 51
4.3.2 do…while循环语句 51
4.3.3 for循环语句 52
4.4 跳转语句 54
4.4.1 break语句 54
4.4.2 continue语句 55
4.4.3 return语句 55
4.5 综合实例——判断今年是否为闰年 56
知识点提炼 57
习题 57
实验:使用for循环输出空心菱形 57
实验目的 57
实验内容 57
实验步骤 57
第5章 数组 59
5.1 数组概述 59
5.2 一维数组 60
5.2.1 创建一维数组 60
5.2.2 初始化一维数组 61
5.3 二维数组 61
5.3.1 创建二维数组 61
5.3.2 初始化二维数组 61
5.4 数组的基本操作 62
5.4.1 遍历数组 62
5.4.2 复制数组 62
5.4.3 填充数组 63
5.4.4 排序数组元素 64
5.4.5 查找数组元素 65
5.5 综合实例——实现冒泡排序算法 66
知识点提炼 66
习题 67
实验:互换二维数组的行列 67
实验目的 67
实验内容 68
实验步骤 68
第6章 字符串 69
6.1 创建字符串 69
6.2 字符串操作 70
6.2.1 字符串连接 70
6.2.2 获取字符串信息 71
6.2.3 字符串比较 73
6.2.4 字符串替换 74
6.2.5 字符串分割 75
6.2.6 大小写转换 76
6.2.7 去除首末空格 76
6.3 格式化字符串 77
6.3.1 格式化方法 77
6.3.2 日期格式化 77
6.3.3 时间格式化 78
6.3.4 日期时间组合格式化 79
6.3.5 常规类型格式化 80
6.4 正则表达式 81
6.4.1 判断是否符合正则表达式的方法 81
6.4.2 正则表达式的元字符 81
6.4.3 正则表达式的限定符 82
6.4.4 方括号中元字符的含义 83
6.5 可变字符串 84
6.6 综合实例——验证IP地址合法性 85
知识点提炼 86
习题 86
实验:统计汉字个数 86
实验目的 86
实验内容 86
实验步骤 87
第7章 类和对象 88
7.1 面向对象编程基本概念 88
7.1.1 什么是对象? 88
7.1.2 什么是类? 89
7.1.3 什么是封装? 90
7.1.4 什么是继承? 91
7.1.5 什么是多态? 91
7.2 类和对象 92
7.2.1 访问权限修饰符 92
7.2.2 类的定义 93
7.2.3 成员变量的定义 93
7.2.4 普通方法的定义 94
7.2.5 局部变量的定义 95
7.2.6 构造方法的定义 95
7.2.7 方法参数的传递 96
7.2.8 对象创建和使用 99
7.2.9 this关键字的用途 101
7.2.10 static关键字的用途 102
7.2.11 final关键字的用途 103
7.2.12 包的定义与使用 103
7.3 注解 104
7.3.1 预定义注解 104
7.3.2 自定义注解 104
7.4 综合实例——构造方法的应用 105
知识点提炼 106
习题 106
实验:温度单位转换工具 107
实验目的 107
实验内容 107
实验步骤 107
第8章 接口、继承与多态 108
8.1 接口的使用 108
8.1.1 接口的定义 108
8.1.2 接口的实现 109
8.2 类的继承 110
8.2.1 继承的实现 110
8.2.2 继承中的重写 111
8.2.3 使用super关键字 112
8.3 多态 112
8.4 Object类 113
8.5 对象类型的转换 115
8.5.1 向上转型 115
8.5.2 向下转型 116
8.6 instanceof判断对象类型 117
8.7 综合实例——简单工厂模式应用 118
知识点提炼 119
习题 120
实验:策略模式的应用 120
实验目的 120
实验内容 120
实验步骤 120
第9章 类的高级特性 122
9.1 抽象类 122
9.2 内部类 124
9.2.1 成员内部类 124
9.2.2 局部内部类 127
9.2.3 匿名内部类 128
9.2.4 静态内部类 129
9.3 Class类与Java反射 130
9.3.1 获得Class类对象 130
9.3.2 获得修饰符 131
9.3.3 访问构造方法 131
9.3.4 访问成员变量 133
9.3.5 访问成员方法 134
9.4 使用注解功能 135
9.4.1 定义Annotation类型 135
9.4.2 访问Annotation信息 137
9.5 综合实例——自定义toString()方法 138
知识点提炼 139
习题 139
实验:静态内部类的应用 140
实验目的 140
实验内容 140
实验步骤 140
第10章 异常处理 142
10.1 异常概述 142
10.2 异常分类 143
10.2.1 可控式异常 143
10.2.2 运行时异常 144
10.3 获取异常信息 144
10.4 处理异常 146
10.4.1 使用try-catch处理异常 146
10.4.2 使用try-catch-finally处理异常 146
10.4.3 使用try-finally处理异常 147
10.5 抛出异常 149
10.5.1 使用throws声明抛出异常 149
10.5.2 使用throw语句抛出异常 150
10.6 自定义异常 151
10.6.1 创建自定义异常类 151
10.6.2 使用自定义异常类 152
10.7 异常的使用原则 153
10.8 综合实例——空指针异常 153
知识点提炼 153
习题 154
实验:自定义异常类 154
实验目的 154
实验内容 154
实验步骤 154
第11章 输入/输出 156
11.1 流概述 156
11.2 输入输出流 157
11.2.1 输入流 157
11.2.2 输出流 158
11.3 File类 159
11.3.1 文件的创建与删除 160
11.3.2 获取文件信息 161
11.4 文件输入输出流 162
11.4.1 FileInputStream类与FileOutputStream类 162
11.4.2 FileReader类和FileWriter类 164
11.5 带缓存的输入输出流 165
11.5.1 BufferedInputStream类与BufferedOutputStream类 165
11.5.2 BufferedReader类与BufferedWriter类 166
11.6 数据输入输出流 166
11.7 ZIP压缩输入输出流 169
11.7.1 压缩文件 169
11.7.2 解压缩ZIP文件 171
11.8 综合实例——合并文本文件 172
知识点提炼 174
习题 174
实验:删除TMP文件 174
实验目的 174
实验内容 174
实验步骤 175
第12章 Swing程序设计 176
12.1 Swing概述 176
12.2 Swing常用窗体 177
12.2.1 JFrame框架窗体 177
12.2.2 JDialog窗体 178
12.3 常用布局管理器 180
12.3.1 绝对布局 180
12.3.2 流布局管理器 181
12.3.3 边界布局管理器 183
12.3.4 网格布局管理器 184
12.4 常用面板 185
12.4.1 JPanel面板 185
12.4.2 JScrollPane面板 186
12.5 标签组件与图标 187
12.5.1 标签的使用 187
12.5.2 图标的使用 187
12.6 按钮组件 190
12.6.1 提交按钮组件 190
12.6.2 单选按钮组件 191
12.6.3 复选框组件 193
12.7 列表组件 194
12.7.1 下拉列表框组件 194
12.7.2 列表框组件 196
12.8 文本组件 197
12.8.1 文本框组件 198
12.8.2 密码框组件 199
12.8.3 文本域组件 199
12.9 综合实例——简单的每日提示信息 200
知识点提炼 202
习题 202
实验:实现用户注册界面 203
实验目的 203
实验内容 203
实验步骤 203
第13章 事件处理 206
13.1 监听事件简介 206
13.2 键盘事件 206
13.3 鼠标事件 209
13.4 窗体事件 211
13.4.1 捕获窗体焦点变化事件 211
13.4.2 捕获窗体状态变化事件 212
13.4.3 捕获其他窗体事件 214
13.5 选项事件 215
13.6 综合实例——模拟相机拍摄 217
知识点提炼 218
习题 219
实验:简易配对游戏 219
实验目的 219
实验内容 219
实验步骤 219
第14章 表格组件的应用 222
14.1 创建表格 222
14.1.1 创建表格 222
14.1.2 定制表格 225
14.2 维护表格模型 229
14.2.1 创建表格模型 229
14.2.2 设置表格模型 230
14.2.3 维护模型对象 231
14.3 创建行标题栏 235
14.4 表格模型事件监听与处理 239
14.5 综合实例——表格栅栏特效 244
知识点提炼 245
习题 246
实验:表格分页技术 246
实验目的 246
实验内容 246
实验步骤 246
第15章 树组件的应用 250
15.1 创建树组件 250
15.2 维护树模型 253
15.2.1 创建模型对象 253
15.2.2 设置树组件的模型 255
15.2.3 维护树的模型 259
15.3 综合实例——查看节点的各种状态 263
知识点提炼 264
习题 264
实验:自定义树节点的外观 264
实验目的 264
实验内容 265
实验步骤 265
第16章 多线程 268
16.1 线程简介 268
16.2 实现线程的两种方式 269
16.2.1 继承Thread类 269
16.2.2 实现Runnable接口 271
16.3 线程的生命周期 273
16.4 操作线程的方法 274
16.4.1 线程的休眠 274
16.4.2 线程的加入 275
16.4.3 线程的中断 277
16.4.4 线程的礼让 278
16.5 线程的优先级 278
16.6 线程同步 280
16.6.1 线程安全 280
16.6.2 线程同步机制 281
16.7 线程间的通信 283
16.8 综合实例——查看线程的运行状态 285
知识点提炼 286
习题 287
实验:简单的线程死锁 287
实验目的 287
实验内容 287
实验步骤 287
第17章 图形绘制技术 289
17.1 绘制图形 289
17.1.1 Graphics 289
17.1.2 Graphics2D 291
17.2 绘图颜色与笔画属性 293
17.2.1 设置颜色 293
17.2.2 笔画属性 294
17.3 绘制文本 294
17.3.1 设置字体 295
17.3.2 显示文字 295
17.4 图片处理 296
17.4.1 绘制图片 296
17.4.2 放大与缩小 297
17.4.3 图片翻转 299
17.4.4 图片旋转 302
17.4.5 图片倾斜 304
17.5 综合实例——绘制直方图 305
知识点提炼 306
习题 306
实验:绘制彩色字符串 307
实验目的 307
实验内容 307
实验步骤 307
第18章 常用工具类 308
18.1 日期时间类 308
18.1.1 创建Date类的对象 308
18.1.2 比较Date对象 309
18.1.3 更改Date对象 310
18.2 数学运算 311
18.2.1 Math类 311
18.2.2 Math类的数学方法 311
18.3 随机数 315
18.3.1 通过Math类生成随机数 316
18.3.2 使用Random类生成随机数 318
18.4 数字格式化类 319
18.4.1 DecimalFormat类 319
18.4.2 数字的格式化输出 320
18.5 综合实例——简单的数字时钟 322
知识点提炼 323
习题 323
实验:制作公历万年历 323
实验目的 323
实验内容 323
实验步骤 323
第19章 数据库编程应用 325
19.1 JDBC技术 325
19.1.1 数据库概述 325
19.1.2 JDBC-ODBC技术介绍 326
19.1.3 JDBC技术 327
19.2 JDBC中常用的类和接口 327
19.2.1 DriverManager类 328
19.2.2 Connection接口 328
19.2.3 Statement接口 329
19.2.4 PreparedStatement接口 329
19.2.5 ResultSet接口 330
19.3 数据库连接 330
19.3.1 加载数据库驱动 331
19.3.2 创建数据库连接 331
19.3.3 向数据库发送SQL语句 335
19.3.4 获取查询结果集 335
19.3.5 关闭连接 336
19.4 综合实例——向数据表中添加信息 336
知识点提炼 338
习题 339
实验:使用批处理删除数据 339
实验目的 339
实验内容 339
实验步骤 339
第20章 综合案例——快递打印系统 341
20.1 需求分析 341
20.2 总体设计 342
20.2.1 系统目标 342
20.2.2 构建开发环境 343
20.2.3 系统功能结构 343
20.3 数据库设计 343
20.3.1 数据库概要说明 343
20.3.2 数据库E-R图 343
20.3.3 数据表结构 344
20.4 公共类设计 345
20.4.1 公共类DAO 345
20.4.2 公共类SaveUserStateTool 345
20.5 程序主要系统开发 346
20.5.1 系统登录系统设计 346
20.5.2 系统主界面系统设计 349
20.5.3 添加快递信息系统设计 351
20.5.4 修改快递信息系统设计 355
20.5.5 打印快递单与打印设置系统设计 360
20.5.6 添加用户窗体系统设计 365
20.5.7 修改用户密码窗体系统设计 367
20.6 程序打包与安装 369
20.6.1 打包 369
20.6.2 安装 370
第21章 课程设计——软件注册程序 371
21.1 课程设计目的 371
21.2 功能描述 371
21.2.1 注册导航功能 372
21.2.2 软件注册功能 372
21.2.3 软件注册机功能 372
21.3 总体设计 372
21.3.1 构建开发环境 372
21.3.2 业务流程图 372
21.4 实现过程 373
21.4.1 注册导航功能 373
21.4.2 软件注册功能 379
21.4.3 软件注册机功能 389
21.5 调试运行 390
21.6 课程设计总结 392
第22章 课程设计——决策分析程序 393
22.1 课程设计目的 393
22.2 功能描述 393
22.2.1 导出为Excel文件功能 394
22.2.2 导出为PDF文件功能 394
22.2.3 分析数据并生成图表 394
22.3 总体设计 394
22.3.1 构建开发环境 394
22.3.2 业务流程图 394
22.4 实现过程 395
22.4.1 主窗体设计 395
22.4.2 导出为Excel文件功能 397
22.4.3 导出为PDF文件功能 400
22.4.4 绘制饼图 403
22.4.5 绘制柱形图 405
22.4.6 绘制折线图 408
22.4.7 绘制区域图 410
22.5 调试运行 411
22.6 课程设计总结 412