《Java程序设计教程(第三版)(微课版)》以Java语言为基础,详细介绍计算机语言的结构化编程和面向对象编程。全书共分12章,主要内容包括Java 入门、Java 编程基础、Java 程序基本结构、方法与数组、类和对象、继承、多态与接口、字符串和常用库类、多线程和异常机制、图形用户界面、Java I/O、Java游戏开发基础,以及药店药品管理系统开发实例。如果说结构化编程的特征是方法,那么面向对象编程的体现就是类的设计和使用,全书对这两种不同的程序设计思想都做了充分介绍。此外,每章的最后都配有思考练习,习题有选择题、填空题、简答题、编程题等多种类型,选择题、填空题和简答题有助于读者对所学知识的理解和掌握,编程题则可以提高读者的动手和实践能力。 《Java程序设计教程(第三版)(微课版)》结构清晰、内容翔实,可作为高等院校相关专业的教材,也可作为从事软件开发工作的专业技术人员的参考书。 《Java程序设计教程(第三版)(微课版)》配套的电子课件、实例源程序和习题答案可以到http://www.tupwk.com.cn/downpage网站下载,也可以扫描前言中的二维码下载。读者扫描前言中的视频二维码可以观看视频进行学习。
●从结构化程序设计讲起,没有任何编程基础的读者亦能学习。
●用实例讲面向对象编程,实战小项目开发,提供完整代码和数据库。
Java语言自面世以来,一直受到大学生和广大软件研发人员的青睐。目前,许多高校已改变先讲授Pascal语言或C语言,再让学生选修Java语言的惯例,而开始尝试让学生在大学低年级就学习Java语言。还有不少高校甚至对非计算机专业的大一新生开设了Java课程。但目前,市面上大多数的Java教程在讲述面向对象技术时几乎都忽视了对Java语言基础的介绍,片面追求技术的新、奇、特,无法满足编程初学者的入门需要。
《Java程序设计教程(第三版)(微课版)》旨在突破市面上大多数Java教材的局限,尝试用一种语言来充分阐述两种编程思想,即结构化程序设计和面向对象程序设计,以满足普通初学者的需要。事实上,结构化程序设计是面向对象程序设计的基础,面向对象程序的基本组成还是结构化程序。面向对象程序设计引入了类的概念,使得程序设计人员可以站在设计类(而不是方法)的高度,对程序进行设计和实现,同时必须重视结构化程序设计基本功的锻炼,因为类的设计恰恰是建立在结构化程序设计的基础之上的。因此,《Java程序设计教程(第三版)(微课版)》以Java语言为工具,从结构化程序设计和面向对象程序设计两种不同编程思想的角度,分别对Java编程的相关基础知识予以介绍,希望能对广大编程爱好者尤其是初学者有所裨益。
全书共分12章,各章的主要内容如下。
第1章是Java入门,简要介绍Java的诞生、Java语言的特点、Java开发工具以及具体的开发步骤等。
第2章是Java编程基础,主要介绍Java的基本数据类型、赋值语句、条件表达式、运算等。
第3章是Java程序基本结构,详细介绍程序的3种基本流程结构:顺序结构、分支结构和循环结构。
第4章是方法与数组,主要介绍方法的概念与定义、方法的调用、变量的作用域、数组以及数组与方法的关系等。
第5章是类和对象,详细介绍类的概念和定义、对象的创建与使用、访问控制符和包等。
第6章是继承、多态与接口,详细介绍继承与多态技术、抽象类和接口等知识。
第7章是字符串和常用库类,主要介绍Java提供的String、StringBuffer类和部分常用库类。
第8章是多线程和异常机制,详细介绍线程的概念、创建、生命周期及状态、线程同步、优先级和调度等;还对Java的异常机制做了简要介绍。
第9章是图形用户界面,详细介绍AWT组件集中的常用组件,包括容器类组件、布局类组件、普通组件以及事件处理机制等。此外,本章最后还简要介绍Swing组件集。
第10章是Java I/O,即Java输入输出,详细介绍Java输入输出流的概念、字节流类、字符流类、File类以及RandomAccessFile类等。
第11章是Java游戏开发基础,介绍游戏编程的相关知识,包括图形环境的坐标体系、图形图像的绘制、各种坐标变换、动画的生成和动画闪烁的消除等。
第12章是药品管理系统开发实例,以SQL Server为数据库,详细介绍基于Java的药店药品管理系统的开发过程,完成了药店药品管理系统的基本页面布局、数据库存储以及部件的应用,实现了基本的药品信息存储、购进药品、出售药品、药品保质期预警、进货价格曲线图等功能。
《Java程序设计教程(第三版)(微课版)》在编写过程中力求做到概念清楚、由浅入深、通俗易懂、论述详尽、实例丰富,以方便读者自学。全书内容具有较强的实用性。
《Java程序设计教程(第三版)(微课版)》由林巧民、张苏伟、姜玻和张台国共同编著,燕城成、周斌、吕民军、黄业林和沈慧琳制作了部分微课视频。由于作者水平所限,书中难免会有不足之处,敬请广大同行和读者给予批评和指正。我们的邮箱是992116@qq.com,电话是010-62796045。
《Java程序设计教程(第三版)(微课版)》配套的电子课件、实例源程序、习题答案可以到http://www.tupwk.com.cn/downpage网站下载,也可以扫描下方的二维码下载。读者扫描下方的视频二维码可以观看视频进行学习。
学习资源 视频
作者
2022年1月
第1章 Java入门 1
1.1 概述 1
1.1.1 Java语言的诞生 2
1.1.2 Java语言的特点 3
1.1.3 Java与其他编程语言间的关系 5
1.2 Java开发环境配置 6
1.2.1 软件安装 6
1.2.2 环境变量配置 7
1.3 第一个Java程序 9
1.3.1 Java程序的结构 9
1.3.2 编译运行 10
1.3.3 中文问题 13
1.4 Java开发工具 13
1.5 小结 15
1.6 思考练习 15
第2章 Java编程基础 17
2.1 引言 17
2.1.1 符号 17
2.1.2 分隔符 18
2.1.3 常量 19
2.1.4 变量 20
2.1.5 final变量 21
2.1.6 变量类型转换 21
2.2 基本数据类型 22
2.2.1 布尔型 22
2.2.2 整型 23
2.2.3 浮点型 25
2.2.4 字符型 25
2.3 程序语句 26
2.3.1 赋值语句 26
2.3.2 条件表达式 27
2.3.3 运算 28
2.4 举例 30
2.5 小结 31
2.6 思考练习 31
第3章 Java程序基本结构 32
3.1 复合语句 32
3.2 顺序结构 33
3.3 分支结构 37
3.3.1 单分支if语句 37
3.3.2 双分支if-else语句 40
3.3.3 分支结构嵌套 43
3.3.4 switch语句 48
3.4 循环结构 51
3.4.1 while语句 51
3.4.2 do-while语句 54
3.4.3 for语句 56
3.4.4 循环嵌套 57
3.4.5 跳转语句 59
3.5 小结 62
3.6 思考练习 62
第4章 方法与数组 66
4.1 方法的概念和定义 66
4.2 方法的调用 68
4.2.1 调用方式 69
4.2.2 参数传递 71
4.2.3 返回值 72
4.2.4 方法嵌套及递归 73
4.3 变量作用域 78
4.4 数组 80
4.4.1 数组的概念 80
4.4.2 数组的声明和创建 80
4.4.3 数组的应用举例 83
4.5 数组与方法 88
4.6 小结 89
4.7 思考练习 89
第5章 类和对象 92
5.1 引言 92
5.2 类 93
5.2.1 类声明 95
5.2.2 类体 96
5.2.3 成员变量 96
5.2.4 成员方法 98
5.2.5 方法重载 101
5.2.6 构造方法 102
5.2.7 main()方法 103
5.2.8 finalize()方法 103
5.3 对象 104
5.3.1 对象的创建 104
5.3.2 对象的使用 106
5.3.3 对象的清除 108
5.4 访问控制符 108
5.4.1 类的访问控制符 109
5.4.2 对类成员的访问控制 109
5.5 包 112
5.5.1 包的创建 113
5.5.2 import语句 115
5.6 小结 118
5.7 思考练习 118
第6章 继承、多态与接口 121
6.1 继承与多态 121
6.1.1 子类、父类与继承机制 121
6.1.2 Java的继承 122
6.1.3 多态性 126
6.2 抽象类和接口 130
6.2.1 抽象类 130
6.2.2 接口 131
6.3 其他 135
6.3.1 final关键字 135
6.3.2 实例成员和类成员 136
6.3.3 类java.lang.Object 140
6.3.4 内部类 142
6.4 小结 144
6.5 思考练习 144
第7章 字符串和常用库类 147
7.1 字符串的创建 147
7.1.1 创建String类型的字符串 147
7.1.2 创建StringBuffer类型的字符串 148
7.2 String类型字符串的操作 149
7.3 StringBuffer类型字符串的操作 158
7.3.1 字符串操作 158
7.3.2 字符分析器 163
7.3.3 main()方法 164
7.4 常用库类 164
7.4.1 包装类 164
7.4.2 数字处理类 168
7.4.3 时间日期类 169
7.4.4 System类 171
7.4.5 Scanner类 172
7.5 小结 173
7.6 思考练习 173
第8章 多线程和异常机制 175
8.1 多线程 175
8.2 多线程的创建 176
8.2.1 Thread子类创建线程 176
8.2.2 使用Runnable接口 178
8.3 线程的生命期及其状态 179
8.3.1 线程的状态 179
8.3.2 与线程状态有关的Thread类方法 180
8.4 线程的同步 184
8.4.1 方法同步 185
8.4.2 对象同步 187
8.4.3 饿死和死锁 188
8.5 线程的优先级和调度 189
8.5.1 线程的优先级 189
8.5.2 线程的调度 189
8.6 守护线程 190
8.7 线程组 192
8.8 异常机制 194
8.8.1 异常示例 195
8.8.2 异常抛出和处理 196
8.8.3 异常类 200
8.9 小结 204
8.10 思考练习 204
第9章 图形用户界面 206
9.1 概述 206
9.2 AWT组件集 207
9.2.1 容器类组件 208
9.2.2 布局类组件 208
9.2.3 普通组件 218
9.2.4 事件处理 228
9.3 Swing组件集简介 239
9.4 小结 245
9.5 思考练习 245
第10章 Java I/O 246
10.1 引言 246
10.2 流的概念 246
10.2.1 标准输出 247
10.2.2 标准输入 249
10.3 字节流 253
10.3.1 InputStream 253
10.3.2 OutputStream 259
10.4 字符流 263
10.4.1 Reader 263
10.4.2 Writer 266
10.5 文件 272
10.5.1 File类 272
10.5.2 RandomAccessFile类 274
10.6 小结 277
10.7 思考练习 277
第11章 Java游戏开发基础 279
11.1 概述 279
11.2 绘制2D图形图像 279
11.2.1 坐标体系 279
11.2.2 绘制图形 280
11.2.3 绘制图像 281
11.3 图形图像的坐标变换 284
11.3.1 使用Graphics2D类进行坐标变换 284
11.3.2 使用AffineTransform类进行坐标变换 288
11.4 生成动画 291
11.5 消除动画闪烁 294
11.6 小结 297
11.7 思考练习 297
第12章 药店药品管理系统开发 298
12.1 概述 298
12.2 需求分析 298
12.3 系统设计 299
12.3.1 开发环境 299
12.3.2 系统功能结构 299
12.3.3 系统业务流程 300
12.4 模块的划分与设计 301
12.5 系统数据库与数据表设计 301
12.5.1 数据库分析 301
12.5.2 数据表分析 302
12.6 工具类设计 303
12.6.1 基于SQL Server的数据库连接工具类 304
12.6.2 表格标签提供类 306
12.7 数据更新模块的设计与实现 307
12.7.1 药品编码表模块 307
12.7.2 药品编码表录入模块 310
12.7.3 药品信息表模块 312
12.7.4 药品信息表录入模块 315
12.8 数据查询模块的设计与实现 316
12.8.1 药品有效期查询模块 317
12.8.2 药品库存量查询模块 318
12.8.3 进货价格查询模块 320
12.8.4 进货预测查询模块 325
12.9 系统主菜单的设计与实现 327
12.10 登录模块的设计与实现 328
12.11 系统部署 329
12.12 小结 330
12.13 思考练习 330
参考文献 331
附录 ASCII码表 332