《图解Java开发基础(案例视频版)》循序渐进地讲解了Java语言开发的核心知识,通过典型实例讲解了这些知识的具体用法。本书共分15章,内容包括Java开发基础,Java基础语法,流程控制语句,操作字符串,Java数组,面向对象,使用集合存储数据,泛型,Java中的常用类库,异常处理,文件操作处理,使用Swing开发GUI程序,Java多线程,Java数据库编程,开发网络应用程序。本书内容全面,实例经典而有趣,几乎涵盖了Java语言所有知识点。
《图解Java开发基础(案例视频版)》不但适合初学Java的人员阅读,也适合计算机相关专业的师生阅读,还可供有经验的开发人员查阅和参考。
《图解Java开发基础(案例视频版)》采用了图解式教学,将复杂的概念和技术以简洁明快的插图和图表展现在你眼前。不再用枯燥的文字解释,而是通过生动有趣的图示来让你更直观地理解Java的核心概念,如流程控制语句、常用类库、泛型,等等。从基础概念开始,逐步引导你进入Java的世界,帮助你巩固所学知识,并提供实际应用场景的案例分析。通过阅读本书帮助你快速入门Java开发,并且培养你解决实际问题的能力。无论是想进入编程行业,还是想提升技术能力,本书都适合你学习和参考。
Java语言经过20多年的发展,已经成为市面上功能最强大的开发语言之一,深受广大程序员和软件厂商的喜爱。使用Java语言可以开发出各种各样的应用程序,如游戏程序、聊天程序、爬虫程序和适用于手机的Android程序。为了让更多的人掌握这门优秀的编程语言,笔者精心编写了本书。
本书特色
(1) 以图解的方式讲解,吸引读者的兴趣
本书的独特之处在于采用图解的方式讲解内容,通过这种新颖的图示方法吸引读者的学习兴趣。全书知识点均以醒目的标记呈现,更易于读者理解和记忆。
(2) 知识结构合理,讲解细致
本书充分运用思维导图,有助于读者规划自己的学习计划。通过思维导图全面分析每个例子,帮助读者深入理解案例的架构和实现流程,确保每个知识点完全掌握。
(3) 选取典型、新颖的案例
本书内容以实例讲解为主线,涵盖了Java语言的各个主流应用领域和行业。本书中的每个实例均为市面上最新、最流行的,读者可以直接运用于个人的学习和工作中。
(4) 算法基础与实例并重,可扫码观看视频
通过扫描书中的二维码获取讲解内容,既包括算法基础知识讲解,也包括算法实例讲解,有利于读者提高开发水平。
(5) 在线技术支持
在本书的学习资源中不仅提供了案例的视频讲解,还提供了PPT学习课件,以及全书案例的源代码,读者可通过扫描下方的二维码获取。
此外,本书还将提供在线技术支持,如果读者在学习中遇到问题,可以向我们的售后团队求助。
读者对象
初学编程的自学者 ? 编程爱好者
大中专院校的教师和学生 ? 相关培训机构的教师和学员
毕业设计的学生 初级和中级程序开发人员
软件测试人员
致谢
在编写本书的过程中,我们始终本着科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评指正。感谢清华大学出版社各位编辑,正是他们的严谨和专业知识才使得本书这么快出版。最后感谢读者朋友们购买本书,希望本书能成为您编程路上的领航者,祝您阅读快乐!
编 者
刘丽,毕业于哈尔滨工业大学,20年开发经验,资深软件开发工程师和架构师,现在就职于恒大旗下的恒腾网络研发中心,从事Web商城系统的架构和开发工作。曾经在谷歌市场中发布过多款著名的应用等软件,这些应用软件在谷歌市场上取得了骄人的销售战绩。 另外,还精通C#、Java、C 和C语言等主流编程语言。业余期间,曾经在国内主流期刊中发表过多篇通信领域的著名论文。
第1章 Java开发基础 1
1.1 Java语言介绍 2
1.1.1 Java语言的发展历程 3
1.1.2 Java语言的特点 3
1.2 搭建Java开发环境 3
1.2.1 下载并安装JDK 4
1.2.2 配置开发环境 8
1.3 第一个Java程序:石头、剪刀、布游戏 10
1.3.1 背景介绍 10
1.3.2 具体实现 10
1.3.3 编译运行 13
1.4 使用Eclipse 14
1.4.1 安装Eclipse 14
1.4.2 创建一个Eclipse工程 18
1.4.3 使用Eclipse编译运行源码 22
1.5 使用IntelliJ IDEA 23
1.5.1 搭建IntelliJ IDEA开发环境 23
1.5.2 使用IntelliJ IDEA创建Java工程 25
1.5.3 使用IntelliJ IDEA运行Java程序 27
1.5.4 使用IntelliJ IDEA编译运行石头、剪刀、布游戏 27
第2章 Java基础语法 31
2.1 几个相关概念:一个电影海报 32
2.1.1 背景介绍 33
2.1.2 具体实现 33
2.1.3 标识符和关键字 34
2.1.4 常量 35
2.1.5 变量 35
2.1.6 注释 35
2.2 数据类型:工资计算器 37
2.2.1 背景介绍 37
2.2.2 具体实现 37
2.2.3 整型 38
2.2.4 浮点型 39
2.2.5 字符型 40
2.2.6 布尔型 40
2.3 运算符和表达式:春运购票 41
2.3.1 背景介绍 41
2.3.2 具体实现 41
2.3.3 算术/关系/逻辑/位/条件/赋值运算符 43
2.4 类型转换:临时收银员的烦恼 49
2.4.1 背景介绍 49
2.4.2 具体实现 50
2.4.3 自动类型转换 51
2.4.4 强制类型转换 51
第3章 流程控制语句 53
3.1 if语句:奖学金评测系统 54
3.1.1 背景介绍 55
3.1.2 具体实现 55
3.1.3 if语句 56
3.1.4 if…else语句 57
3.1.5 if…else if…else语句 58
3.1.6 嵌套if条件语句 58
3.2 switch语句:12星座游戏 59
3.2.1 背景介绍 60
3.2.2 具体实现 60
3.2.3 switch语句的基本形式 62
3.3 for循环语句:个税计算器 63
3.3.1 背景介绍 63
3.3.2 具体实现 64
3.3.3 for循环介绍 66
3.4 while循环语句:银行理财利息计算器 66
3.4.1 背景介绍 67
3.4.2 具体实现 67
3.4.3 while语句 68
3.4.4 do…while循环语句 68
第4章 操作字符串 69
4.1 字符串的初始化:网络小说片段 70
4.1.1 背景介绍 71
4.1.2 具体实现 71
4.1.3 定义字符串的方式 72
4.2 String类操作实战:设置取款密码 73
4.2.1 背景介绍 74
4.2.2 具体实现 74
4.2.3 常用的内置方法 75
第5章 Java数组 77
5.1 一维数组:计算购物车商品的总额 78
5.1.1 背景介绍 79
5.1.2 具体实现 79
5.1.3 声明一维数组 80
5.1.4 初始化一维数组 81
5.1.5 使用一维数组 82
5.2 二维数组:解决杨辉三角问题 83
5.2.1 背景介绍 83
5.2.2 具体实现 84
5.2.3 多维数组的声明与创建 86
5.2.4 多维数组的初始化 86
5.3 数组操作:奥运会裁判打分系统 88
5.3.1 背景介绍 88
5.3.2 具体实现 89
5.3.3 数组操作的内置方法 91
第6章 面向对象 93
6.1 类:查询余额宝的余额 94
6.1.1 背景介绍 95
6.1.2 具体实现 95
6.1.3 Java面向对象的基本概念 96
6.1.4 声明类 96
6.1.5 成员变量 97
6.1.6 成员方法 97
6.2 方法:某麦当劳餐厅语音播报系统 98
6.2.1 背景介绍 98
6.2.2 具体实现 99
6.2.3 传递方法参数 100
6.2.4 传递可变长度的参数调用方法 100
6.2.5 构造方法 101
6.2.6 使用静态变量和静态方法 102
6.2.7 修饰符 103
6.3 类的继承:图书展示系统 104
6.3.1 背景介绍 104
6.3.2 具体实现 105
6.3.3 继承的基本概念 107
6.3.4 使用super访问父类中的成员变量和成员方法 108
6.3.5 多级继承 109
6.4 重写和重载:调查招聘单位的信息 110
6.4.1 背景介绍 110
6.4.2 具体实现 110
6.4.3 重写 112
6.4.4 重载 113
6.5 抽象类和抽象方法:教师授课系统 114
6.5.1 背景介绍 115
6.5.2 具体实现 115
6.5.3 抽象类与抽象方法基础 119
6.6 接口:四则运算计算器 120
6.6.1 背景介绍 120
6.6.2 具体实现 120
6.6.3 定义接口 122
6.6.4 接口的继承 123
6.7 多态:美酒佳酿的配方 124
6.7.1 背景介绍 124
6.7.2 具体实现 125
6.7.3 何谓多态 126
第 7章 使用集合存储数据 129
7.1 Collection接口:添加、删除购物车中的商品 130
7.1.1 背景介绍 131
7.1.2 具体实现 131
7.1.3 接口Collection的成员 132
7.1.4 遍历集合 133
7.2 List接口:在线商城系统 136
7.2.1 背景介绍 136
7.2.2 具体实现 136
7.2.3 接口List的基本功能 138
7.3 Set接口:学生成绩录入系统 139
7.3.1 背景介绍 139
7.3.2 具体实现 139
7.3.3 类TreeSet 141
7.3.4 类HashSet 142
7.4 Queue接口:患者就诊叫号系统 143
7.4.1 背景介绍 143
7.4.2 具体实现 144
7.4.3 类LinkedList和类PriorityQueue 145
7.4.4 Java集合中的其他接口 146
第8章 泛型 149
8.1 泛型基础:青少年喜欢的三个服装品牌 150
8.1.1 背景介绍 151
8.1.2 具体实现 151
8.1.3 创建泛型 152
8.1.4 Java集合的缺点 152
8.2 泛型类、泛型接口和泛型方法:银行存款回执单 154
8.2.1 背景介绍 154
8.2.2 具体实现 154
8.2.3 定义泛型接口和类 156
8.2.4 泛型方法 157
8.3 类型通配符:上市公司年报 158
8.3.1 背景介绍 158
8.3.2 具体实现 158
8.3.3 类型通配符介绍 159
第9章 Java中的常用类库 161
9.1 系统相关类:电脑优化加速器系统 162
9.1.1 背景介绍 163
9.1.2 具体实现 163
9.1.3 类Runtime 164
9.1.4 类System 165
9.2 程序国际化:简易翻译程序 166
9.2.1 背景介绍 166
9.2.2 具体实现 166
9.2.3 国际化基础 167
9.2.4 类Locale 168
9.2.5 类ResourceBundle 169
9.3 和日期相关的类:日历系统 170
9.3.1 背景介绍 170
9.3.2 具体实现 170
9.3.3 类Date 172
9.3.4 类Calendar 173
9.3.5 类DateFormat 174
9.3.6 类SimpleDateFormat 174
9.4 数字类:福彩30选7的机选系统 175
9.4.1 背景介绍 176
9.4.2 具体实现 176
9.4.3 类Random 176
9.4.4 类Math 177
9.4.5 类NumberFormat 177
9.5 使用正则表达式:会员注册系统 179
9.5.1 背景介绍 179
9.5.2 具体实现 180
9.5.3 类Pattern和类Matcher 181
第10章 异常处理 183
10.1 异常处理方式:计算某商品的店均销量 184
10.1.1 背景介绍 185
10.1.2 具体实现 185
10.1.3 异常的基本概念 186
10.1.4 常用的异常类 187
10.1.5 使用try…catch捕获异常 188
10.1.6 使用finally代码块 188
10.2 抛出异常:OA登录验证系统 189
10.2.1 背景介绍 190
10.2.2 具体实现 190
10.2.3 使用throw抛出异常 192
10.2.4 使用throws声明异常 192
10.2.5 自定义异常 193
第11章 文件操作处理 195
11.1 几个相关概念:文件管理系统 197
11.1.1 背景介绍 197
11.1.2 具体实现 197
11.1.3 Java的I/O系统 198
11.1.4 类File中的内置方法 199
11.2 类RandomAccessFile:4S店新车录入系统 200
11.2.1 背景介绍 200
11.2.2 具体实现 201
11.2.3 类RandomAccessFile中的常用方法 202
11.3 字节流与字符流:广告词征集活动 203
11.3.1 背景介绍 203
11.3.2 具体实现 204
11.3.3 类OutputStream(字节流输出) 205
11.3.4 类InputStream(字节流输入) 205
11.3.5 类Writer(字符流写入文件) 206
11.3.6 类Reader(字符流读取文件) 207
11.4 流的相关操作:工资条管理系统 208
11.4.1 背景介绍 208
11.4.2 具体实现 208
11.4.3 转换流 209
11.4.4 内存操作流 210
11.4.5 打印流 210
第12章 使用Swing开发GUI程序 213
12.1 Swing基础:学校放假通知 214
12.1.1 背景介绍 215
12.1.2 具体实现 215
12.1.3 Swing包 216
12.1.4 Swing中的组件 217
12.1.5 容器 218
12.2 窗体布局:登录验证系统 220
12.2.1 背景介绍 220
12.2.2 具体实现 221
12.2.3 边框布局管理器 222
12.2.4 流式布局管理器 223
12.2.5 卡片布局管理器 223
12.2.6 网格布局管理器 224
12.3 基本组件:编程语言问卷调查系统 224
12.3.1 背景介绍 225
12.3.2 具体实现 225
12.3.3 按钮组件 226
12.3.4 标签组件 227
12.3.5 单行文本框组件 228
12.3.6 复选框和单选按钮组件 228
12.3.7 边框组件 229
12.3.8 JToolBar工具条组件 230
12.4 进度条组件:手机充电进度条 231
12.4.1 背景介绍 231
12.4.2 具体实现 231
12.4.3 使用JProgressBar创建进度条 233
12.4.4 使用ProgressMonitor创建进度条对话框 234
第13章 Java多线程 237
13.1 创建线程:模拟NBA球员入场情景 238
13.1.1 背景介绍 239
13.1.2 具体实现 239
13.1.3 创建线程的方式 240
13.2 线程控制:龟兔赛跑游戏 243
13.2.1 背景介绍 243
13.2.2 具体实现 244
13.2.3 线程的生命周期 246
13.2.4 线程的优先级 247
13.2.5 线程调度 247
13.3 数据同步:解决航空公司售票系统的问题 248
13.3.1 背景介绍 249
13.3.2 具体实现 250
13.3.3 使用synchronized实现线程同步 252
第14章 Java数据库编程 255
14.1 JDBC开发基础:学生成绩查询系统 256
14.1.1 背景介绍 257
14.1.2 具体实现 257
14.1.3 什么是JDBC 261
14.1.4 JDBC中的常用接口和类 264
14.2 其他数据库:获取SQL Server数据库表的信息 268
14.2.1 背景介绍 268
14.2.2 具体实现 269
14.2.3 连接Access数据库 272
第15章 开发网络应用程序 275
15.1 网络编程基础:获取IP地址 276
15.1.1 背景介绍 277
15.1.2 具体实现 277
15.1.3 类URLDecoder和类URLEncoder 278
15.1.4 类InetAddress 279
15.1.5 类URL和类URLConnection 279
15.2 TCP编程:在线网络聊天系统 281
15.2.1 项目介绍 281
15.2.2 具体实现 282
15.2.3 TCP的基本概念 286
15.2.4 类ServerSocket 287
15.2.5 类Socket 287