书籍详情

Java开发手册:基础·案例·应用

Java开发手册:基础·案例·应用

作者:明日科技 著

出版社:化学工业出版社

出版时间:2022-02-01

ISBN:9787122403360

定价:¥129.00

购买这本书可以去
内容简介
  《Java开发手册:基础·案例·应用》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目。旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。本书以Java开发为主要内容,分为3篇,分别是:基础篇、案例篇、应用篇,共30章,内容由浅入深,循序渐进,使读者在打好基础的同时逐步提升技能。本书内容包含了Java开发必备的基础知识和大量的实例和案例解析,使读者在学习相关技术和方法的同时,能够及时应用和消化相关知识。同时,本书在最后两章对两个大型应用项目进行了重点讲解,让读者亲自体验编程的乐趣。本书适合Java开发从业者和Java爱好者阅读参考,也可作为高校计算机相关专业的教材。
作者简介
暂缺《Java开发手册:基础·案例·应用》作者简介
目录
第1篇 基础篇
第1章 第一个Java程序
1.1 预备知识 3
1.2 Java程序的组成部分 3
1.2.1 类 4
【实例1.1】输出某电影的片名、导演和主演 4
1.2.2 主方法 5
1.2.3 关键字 5
1.2.4 标识符 7
1.2.5 变量 8
1.2.6 注释 10
1.3 控制台的输入和输出操作 12
1.3.1 控制台输出字符 12
【实例1.2】输出老者与小孩的对话内容 12
1.3.2 控制台输入字符 13
1.4 编码规范 14
1.5 综合实例——计算两个数的和、差、积、商 14
1.6 实战练习 16
第2章 数据类型
2.1 基本数据类型 19
2.1.1 整数类型 19
2.1.2 浮点类型 20
2.1.3 字符类型 21
2.1.4 布尔类型 23
2.2 类型转换 23
2.2.1 自动类型转换 23
2.2.2 强制类型转换 25
2.3 综合实例——数据丢失 25
2.4 实战练习 26
第3章 运算符
3.1 赋值运算符 28
3.2 算术运算符 29
【实例3.1】计算两个数字的和、差、积、商和余数 29
3.3 自增和自减运算符 31
【实例3.2】对操作数进行自增和自减运算 31
3.4 关系运算符 31
【实例3.3】比较两个数字的关系 32
3.5 逻辑运算符 32
【实例3.4】判断逻辑表达式的是与非 33
3.6 复合赋值运算符 33
3.7 三元运算符 34
3.8 圆括号 35
3.9 运算符优先级 35
3.10 综合实例——精确地计算浮点数 35
3.11 实战练习 37
第4章 流程控制语句
4.1 分支结构 39
4.1.1 if语句 39
【实例4.1】是否缴纳个人所得税 39
4.1.2 if-else语句 40
4.1.3 if…else if多分支语句 41
4.1.4 switch多分支语句 42
【实例4.2】是否缴纳个人所得税 43
4.2 循环结构 44
4.2.1 while循环 44
【实例4.3】学生报数 44
4.2.2 do-while循环 45
【实例4.4】计算1~20的和 46
4.2.3 for循环 46
4.2.4 嵌套for循环 47
【实例4.5】输出九九乘法表 47
4.3 控制循环结构 47
4.3.1 break 47
【实例4.6】输出当和大于1000时的整数值 47
【实例4.7】描述一辆车的行驶过程 48
4.3.2 continue 49
【实例4.8】输出0~100之间所有偶数的和 49
4.4 综合实例——打印空心的菱形 50
4.5 实战练习 51
第5章 数组
5.1 初识数组 53
5.2 一维数组 53
5.2.1 声明 53
5.2.2 创建 54
5.2.3 初始化 54
5.3 一维数组的基本操作 56
5.3.1 遍历 56
【实例5.1】打印数组中的所有元素 56
5.3.2 复制 56
【实例5.2】新数组的大小可以大于原数组的大小 57
【实例5.3】终止下标可以大于原数组的大小 57
5.3.3 填充 58
【实例5.4】打印一位同学的5门选修课成绩 58
5.3.4 排序 58
【实例5.5】打印一位选手的最低分和最高分 58
5.3.5 搜索 59
5.4 二维数组 59
5.4.1 声明并创建 60
5.4.2 初始化 61
5.4.3 遍历 61
5.5 综合实例——冒泡排序 62
5.6 实战练习 63
第6章 方法
6.1 定义方法 65
6.2 返回值 65
6.2.1 返回值类型 66
【实例6.1】计算1~100的叠加和 67
6.2.2 无返回值 68
【实例6. 2】使用return结束循环 69
6.3 参数 70
6.3.1 值参数 70
【实例6.3】修改形参不会影响实参原有的值 70
6.3.2 引用参数 70
【实例6.4】修改数组中元素的值 71
6.3.3 不定长参数 71
【实例6.5】计算多个整数相加后的结果 71
6.4 递归 72
【实例6.6】分别计算4、5、6、10的阶乘 73
6.5 综合实例——同名方法 73
6.6 实战练习 75
第7章 面向对象编程
7.1 对象与类 77
7.1.1 对象 77
7.1.2 类 77
7.1.3 对象的创建 77
7.2 面向对象基础 78
7.2.1 成员变量 78
【实例7.1】定义鸟类中的成员变量 78
7.2.2 成员方法 78
7.2.3 构造方法 79
7.2.4 this关键字 80
【实例7.2】this关键字的必要性 80
7.3 static关键字 81
7.3.1 静态变量 81
【实例7.3】静态变量的使用方法 81
7.3.2 静态方法 82
7.4 类的继承 82
7.4.1 extends关键字 82
【实例7.4】父类、子类中的构造方法的执行顺序 83
【实例7.5】子类继承父类后调用父类的属性和方法 83
7.4.2 方法的重写 84
【实例7.6】子类重写的方法在父类的构造方法中被调用 84
7.4.3 super关键字 85
【实例7.7】使用super关键字调用父类属性 85
【实例7.8】使用super关键字调用父类方法 86
【实例7.9】使用super关键字调用父类构造方法 86
7.4.4 所有类的父类——Object类 87
【实例7.10】输出People类对象的姓名和年龄 87
7.5 类的多态 88
7.5.1 向上转型与向下转型 88
7.5.2 关键字instanceof 89
【实例7.11】判断不同类对象之间的继承关系 90
7.6 抽象类与接口 90
7.6.1 抽象类与抽象方法 91
7.6.2 接口的声明及实现 92
7.6.3 类同时实现多个接口 93
7.7 访问控制 93
7.7.1 访问控制符 93
7.7.2 关键字final 94
7.8 内部类 95
7.8.1 成员内部类 95
【实例7.12】心脏在跳动 96
7.8.2 匿名内部类 96
【实例7.13】匿名对象实现抽象方法 97
7.9 综合实例——计算几何图形的面积 97
7.10 实战练习 99
第8章 异常的捕获与处理
8.1 什么是异常 101
【实例8.1】如何抛出异常 101
8.2 异常的类型 101
8.2.1 系统错误——Error类 102
【实例8.2】系统错误 102
8.2.2 可控式异常——Exception类 103
【实例8.3】“文件没有找到”异常 103
8.2.3 运行时异常——RuntimeException类 103
【实例8.4】空指针异常 104
8.3 捕获异常 104
8.3.1 try-catch代码块 104
【实例8.5】捕获InputMismatchException异常 105
8.3.2 finally代码块 106
【实例8.6】关闭扫描器对象 106
8.4 抛出异常 107
8.4.1 throws关键字 107
【实例8.7】抛出7÷0的异常 107
8.4.2 throw关键字 108
8.5 自定义异常 108
8.6 综合实例——规定西红柿单价不得超过7元 109
8.7 实战练习 110
第9章 字符串\t111
9.1 字符串与String类型 112
9.2 操作字符串对象 113
9.2.1 连接字符串 113
9.2.2 获取字符串信息 114
9.2.3 比较字符串 115
9.2.4 替换字符串 116
9.2.5 分割字符串 117
9.2.6 大小写转换 117
9.2.7 去除首末空格 117
9.3 格式化字符串 118
9.3.1 日期格式化 118
9.3.2 时间格式化 119
9.3.3 日期时间组合格式化 119
9.3.4 常规类型格式化 120
9.4 字符串对象与数值类型的相互转换 121
9.5 StringBuilder类对象 123
9.5.1 新建StringBuilder类对象 124
9.5.2 StringBuilder类的常用方法 124
9.6 综合实例——把数字金额转为大写金额 126
9.7 实战练习 127
第10章 Java常用类
10.1 包装类 129
10.1.1 Integer类 129
10.1.2 Double类 131
10.1.3 Boolean类 133
10.1.4 Character类 134
10.1.5 Number类 135
10.2 Math类 136
10.2.1 Math类的使用形式 136
10.2.2 常用数学运算方法 137
【实例10.1】三角函数的使用方法 137
【实例10.2】指数运算函数的使用方法 138
【实例10.3】取整方法的不同结果 139
【实例10.4】求两数的最大值和最小值以及一个数的绝对值 140
10.3 随机数 140
10.3.1 Math.random()方法 140
【实例10.5】猜数字小游戏 141
【实例10.6】打印任意字符之间的随机字符 141
10.3.2 Random类 142
10.4 日期时间类 143
10.4.1 Date类 143
【实例10.7】打印当前日期的毫秒数 144
10.4.2 格式化日期 144
10.4.3 Calendar类 147
10.5 综合实例——打印当前月份的日历 148
10.6 实战练习 149
第11章 泛型与集合类
11.1 泛型 151
11.1.1 定义泛型类 151
11.1.2 泛型的用法 151
【实例11.1】在类中限制泛型类型 152
11.2 集合类 153
11.2.1 Set集合 153
【实例11.2】查看HashSet集合中的元素值和排列顺序 154
【实例11.3】查看TreeSet集合中的元素值和排列顺序 155
【实例11.4】Iterator迭代器的使用方法 155
11.2.2 List队列 157
【实例11.5】使用ArrayList类实现List队列 157
11.3 Map键值对 159
11.3.1 Map接口 159
11.3.2 Map接口的实现类 159
11.4 综合实例——随机抽扑克牌 161
11.5 实战练习 162
第12章 Swing程序设计
12.1 Swing概述 164
12.2 Swing常用窗体 165
12.2.1 JFrame窗体 165
【实例12.1】向窗体中添加标签 166
【实例12.2】抖动窗体 166
12.2.2 JDialog对话框 167
【实例12.3】单击按钮弹出对话框 167
12.3 常用布局管理器 168
12.3.1 绝对布局管理器 168
【实例12.4】绝对布局定位按钮组件 168
12.3.2 流布局管理器 169
【实例12.5】流布局定位按钮组件 169
12.3.3 边界布局管理器 170
【实例12.6】边界布局定位按钮组件 171
12.3.4 网格布局管理器 171
【实例12.7】网格布局定位按钮组件 172
12.4 常用面板 172
12.4.1 JPanel面板 173
【实例12.8】向JPanel面板添加按钮组件 173
12.4.2 JScrollPane滚动面板 174
【实例12.9】向JScrollPane面板添加文本域组件 174
12.5 标签组件与图标 174
12.5.1 JLabel标签组件 174
12.5.2 图标的使用 175
【实例12.10】依据现有的图片创建图标 175
12.6 按钮组件 176
12.6.1 JButton按钮 176
【实例12.11】操作按钮组件 176
12.6.2 JRadioButton单选按钮 177
【实例12.12】选择性别 178
12.6.3 JCheckBox复选框 178
【实例12.13】打印3个复选框的选中状态 179
12.7 列表组件 179
12.7.1 JComboBox下拉列表框 180
【实例12.14】选择证件类型 180
12.7.2 JList列表框 181
【实例12.15】列表框组件的使用 181
12.8 文本组件 182
12.8.1 JTextField文本框组件 182
【实例12.16】清除文本框中的文本内容 183
12.8.2 JPasswordField密码框 183
12.8.3 JTextArea文本域 184
【实例12.17】向文本域中添加文本内容 184
12.9 表格组件 185
12.9.1 创建表格 185
【实例12.18】一个具有滚动条的表格 185
12.9.2 设置表格 186
【实例12.19】设置表格样式 186
12.9.3 操纵表格 188
【实例12.20】操作表格的被选中行 188
12.9.4 使用表格模型创建表格 190
【实例12.21】表格排序器 190
12.9.5 维护表格模型 191
【实例12.22】维护表格模型 191
12.9.6 创建具有行、列标题栏的表格 193
【实例12.23】具有行、列标题栏的表格 193
12.10 事件监听器 196
12.10.1 动作事件 196
【实例12.24】为按钮组件添加动作监听器 197
12.10.2 键盘事件 197
【实例12.25】模拟一个虚拟键盘 198
12.10.3 鼠标事件 199
【实例12.26】如何使用鼠标事件监听器中各个方法 200
12.11 综合实例——自定义最大化、最小化和关闭按钮 200
12.12 实战练习 202
第13章 AWT绘图
13.1 Java绘图基础 204
13.2 绘制几何图形 205
【实例13.1】绘制图形 206
13.3 设置颜色与画笔 207
13.3.1 设置颜色 207
【实例13.2】绘制彩色的横线和竖线 208
13.3.2 设置画笔 209
【实例13.3】使用不同的画笔绘制直线 210
13.4 图像处理 210
13.4.1 绘制图像 210
【实例13.4】绘制图像 211
13.4.2 图像缩放 211
【实例13.5】放大和缩小图像 212
13.4.3 图像翻转 213
【实例13.6】翻转图像 214
13.4.4 图像旋转 216
【实例13.7】旋转图像 217
13.4.5 图像倾斜 218
【实例13.8】倾斜图像 218
13.5 综合实例——绘制花瓣 218
13.6 实战练习 220
第14章 IO流
14.1 流概述 222
14.2 输入/输出流 222
14.2.1 输入流 223
14.2.2 输出流 223
14.3 File类 225
14.3.1 创建文件对象 225
14.3.2 文件操作 226
【实例14.1】创建、删除文件和读取文件属性 227
14.3.3 文件夹操作 228
【实例14.2】操作文件夹 228
【实例14.3】遍历了一个文件夹中所有的文件 229
【实例14.4】批量删除文件 230
14.4 文件输入/输出流 230
14.4.1 FileInputStream类与FileOutputStream类 230
【实例14.5】读/写文件的过程中避免乱码 231
14.4.2 FileReader类与FileWriter类 232
【实例14.6】FileReader与FileWriter类的用法 232
14.5 带缓冲的输入/输出流 233
14.5.1 BufferedInputStream类与BufferedOutputStream类 234
【实例14.7】提升效率的缓冲流 234
14.5.2 BufferedReader类与BufferedWriter类 235
【实例14.8】BufferedReader和BufferedWriter类的用法 236
14.6 综合实例——批量移动文件 237
14.7 实战练习 238
第15章 线程
15.1 线程简介 240
15.2 实现线程的两种方式 240
15.2.1 继承Thread类 240
【实例15.1】在run()方法中循环输出数字0~9 241
15.2.2 实现Runnable接口 242
【实例15.2】使用Runnable接口循环输出数字0~9 242
【实例15.3】线程池的用法 243
15.3 线程的生命周期 244
15.4 操作线程的方法 245
15.4.1 线程的休眠 245
【实例15.4】每0.1秒在随机位置绘制随机颜色的线段 245
【实例15.5】一个简单的电子时钟 246
15.4.2 线程的加入 247
【实例15.6】使用join( )方法控制进度条的滚动 247
15.4.3 线程的中断 248
【实例15.7】线程被中断 249
15.5 线程的同步 250
15.5.1 线程安全 250
【实例15.8】模拟商品的剩余库存 250
15.5.2 线程同步机制 251
【实例15.9】使用同步块模拟商品的剩余库存 251
【实例15.10】使用同步方法模拟商品的剩余库存 252
【实例15.11】线程的暂停与恢复 253
15.6 综合实例——抽奖系统 254
15.7 实战练习 257
第16章 JDBC技术
16.1 JDBC概述 259
16.2 JDBC中常用的类和接口 259
16.2.1 DriverManager类 259
16.2.2 Connection接口 260
【实例16.1】通过访问数据库的URL获取数据库连接对象 260
16.2.3 Statement接口 260
16.2.4 PreparedStatement接口 261
16.2.5 ResultSet接口 261
【实例16.2】输出ResultSet对象中的数据 262
16.3 数据库操作 263
16.3.1 数据库基础 263
16.3.2 连接数据库 264
【实例16.3】连接MySQL数据库 264
16.3.3 数据查询 265
【实例16.4】查询、遍历数据表tb_stu中的数据 265
16.3.4 动态查询 267
【实例16.5】动态查询 267
16.3.5 添加、修改、删除记录 268
【实例16.6】预处理语句 268
16.4 综合实例——MySQL数据备份 270
16.5 实战练习 273
第2篇 案例篇
第17章 字符统计工具(StreamTokenizer+Swing实现)
17.1 案例效果预览 276
17.2 业务流程图 276
17.3 实现步骤 276
17.3.1 设计窗体 277
17.3.2 添加控件 277
17.3.3 选择记事本文件 278
17.3.4 显示统计结果 279
17.3.5 使窗体可见 281
第18章 带加密功能的压缩工具(RAR命令 + IO+ Swing实现)
18.1 案例效果预览 283
18.2 业务流程图 284
18.3 实现步骤 284
18.3.1 设计窗体 284
18.3.2 添加控件 285
18.3.3 按钮的动作事件监听器 288
18.3.4 压缩文件的线程类 289
18.3.5 使窗体可见 291
第19章 英译汉小程序(IO+ Swing实现)
19.1 案例效果预览 293
19.2 业务流程图 293
19.3 实现步骤 293
19.3.1 创建项目并导入资源文件 293
19.3.2 设计窗体 294
19.3.3 添加控件 296
19.3.4 输入英文单词并显示查询结果 298
第20章 带有图片验证码的登录窗体(AWT + Swing实现)
20.1 案例效果预览 302
20.2 业务流程图 302
20.3 实现步骤 303
20.3.1 设计窗体 303
20.3.2 添加控件 303
20.3.3 按钮及其动作事件监听器 304
20.3.4 验证码面板 306
20.3.5 使窗体可见 307
第21章 仿画图工具中的裁剪功能(AWT + Swing实现)
21.1 案例效果预览 309
21.2 业务流程图 309
21.3 实现步骤 309
21.3.1 设计窗体 309
21.3.2 添加控件 310
21.3.3 自定义面板类 311
21.3.4 鼠标事件监听器 312
21.3.5 使窗体可见 313
第22章 日历控件(Timer + AWT + Swing实现)
22.1 案例效果预览 315
22.2 业务流程图 315
22.3 实现步骤 316
22.3.1 设计窗体 316
22.3.2 设计日历面板 316
22.3.3 向窗体添加日历面板和标签 323
22.3.4 使窗体可见 323
第23章 拼图游戏(枚举 + AWT + Swing实现)
23.1 案例效果预览 325
23.2 业务流程图 325
23.3 实现步骤 325
23.3.1 创建项目并导入资源文件 325
23.3.2 使用枚举类定义方向 326
23.3.3 设置单元图片 326
23.3.4 设计游戏面板 327
23.3.5 设计游戏窗体 330
第24章 海滩捉螃蟹游戏(线程 + AWT + Swing实现)
24.1 案例效果预览 333
24.2 业务流程图 333
24.3 实现步骤 333
24.3.1 设计窗体 333
24.3.2 添加控件 334
24.3.3 用于改变鼠标图标的鼠标事件监听器 335
24.3.4 用于改变标签上的螃蟹图片的鼠标事件监听器 336
24.3.5 随机确定螃蟹出现的顺序 337
24.3.6 使窗体可见 337
第25章 简笔画小程序(AWT + Swing实现)
25.1 案例效果预览 339
25.2 业务流程图 340
25.3 实现步骤 340
25.3.1 设计窗体 340
25.3.2 创建画板 341
25.3.3 用鼠标画线 342
25.3.4 添加工具栏 342
25.3.5 调整画笔粗细 343
25.3.6 设置颜色 344
25.3.7 清除、擦除图像 345
25.3.8 添加图形 345
25.3.9 保存图片 346
第26章 模拟QQ登录(MySQL + JDBC编程 + Swing实现)
26.1 案例效果预览 348
26.2 业务流程图 348
26.3 实现步骤 348
26.3.1 导入sql文件 348
26.3.2 创建模型类 349
26.3.3 创建数据库操作类 350
26.3.4 设计登录窗体 352
26.3.5 设计注册对话框 354
26.3.6 设计主窗体 356
26.3.7 分栏显示 358
第27章 五子棋大对战(Socket + 线程 +AWT实现)
27.1 案例效果预览 360
27.2 业务流程图 361
27.3 公共模块设计 361
27.3.1 定义用户类 361
27.3.2 定义棋盘模型类 362
27.4 界面模型设计 362
27.4.1 设计主窗体 363
27.4.2 设计登录界面 364
27.4.3 绘制棋盘界面 365
27.4.4 实现单击鼠标落棋功能 367
27.4.5 实现游戏回放功能 368
27.4.6 实现自由更换背景功能 369
27.4.7 清屏动画的实现 369
第28章 人脸打卡(webcam-capture + MySQL + Swing实现)
28.1 程序分析 372
28.2 业务流程图 372
28.3 设计窗体 373
28.3.1 主窗体 373
28.3.2 主面板 374
28.3.3 登录对话框 377
28.3.4 考勤报表面板 378
28.3.5 员工管理面板 382
28.3.6 录入新员工面板 383
第3篇 应用篇
第29章 坦克大战(枚举 + 多线程 + AWT + Swing实现)
29.1 开发背景及开发环境要求 388
29.2 系统功能设计 388
29.2.1 系统功能结构 388
29.2.2 系统业务流程 389
29.3 项目目录结构预览 389
29.4 枚举设计 389
29.4.1 方向枚举 389
29.4.2 游戏模式枚举 390
29.4.3 坦克类型枚举 390
29.4.4 墙块类型枚举 390
29.5 公共类设计 391
29.5.1 绘图工具类 391
29.5.2 地图工具类 392
29.6 模型类设计 394
29.6.1 可显示图像的抽象类 394
29.6.2 玩家坦克类 396
29.6.3 电脑坦克类 399
29.6.4 子弹类 401
29.6.5 基地类 403
29.6.6 爆炸效果类 403
29.6.7 地图类 404
29.7 墙块设计 405
29.7.1 墙块抽象类 405
29.7.2 墙块实体类 406
29.8 窗体类设计 406
29.8.1 主窗体 407
29.8.2 登录面板 407
29.8.3 关卡面板 409
29.8.4 游戏面板 410
29.9 游戏核心功能设计 413
29.9.1 碰撞检测 414
29.9.2 刷新帧 416
第30章 七星彩数据分析系统(Swing + MySQL 5.7实现)
30.1 开发背景 419
30.2 系统功能设计 419
30.2.1 系统功能结构 419
30.2.2 系统业务流程 419
30.3 数据的存储 420
30.3.1 数据库设计 420
30.3.2 数据表设计 420
30.4 主窗体设计 421
30.4.1 实现主窗体中的背景面板 421
30.4.2 添加主窗体中的组件 422
30.4.3 实现数据库的连接 424
30.4.4 分页显示历届开奖信息 425
30.5 号码走势对话框设计 426
30.5.1 实现没有组件的号码走势对话框 427
30.5.2 设计第1位开奖号码走势面板 427
30.5.3 获取第1位开奖号码走势数据 430
30.5.4 以折线图显示近10期开奖号码走势 432
30.6 随机选号对话框设计 435
30.6.1 显示开奖期数 436
30.6.2 随机选号和按要求选号的切换 436
30.6.3 机选选号功能的实现 438
30.6.4 按照指定要求选取彩票号码 440
30.6.5 指定按要求选号时的约束条件 442
30.6.6 彩票购买功能的实现 443
猜您喜欢

读书导航