计算机类教材 > 算法与程序设计

Java语言程序设计教程(第二版)

书号:9787113302757 套系名称:普通高等教育“十四五”系列教材

作者:胡光 出版日期:2023-07-01

定价:59.00 页码 / 开本:无 /16

策划编辑:何红艳 责任编辑:何红艳 绳超

适用专业:计算机基础教育 适用层次:高等教育

最新印刷时间:2023-07-01

资源下载
教学课件 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书根据普通高等教育计算机类专业要求,以面向对象程序设计思想为主线,循序渐进地讲述Java 程序设计理论与应用知识。全书内容主要包括Java 语言的基础语法、面向对象程序设计思想与应用、常用类、异常处理、输入流和输出流、常用数据结构、图形用户界面、多线程、网络程序设计,以及Java 与数据库应用程序设计等。
    
    本书内容丰富,强调理论与实践相结合。书中所有内容均遵守Java SE 平台的程序设计规范,内容实用性强。书中语言力求简明,内容既包含Java 语言程序设计的基础知识,还包含深入的高级主题,每章都附有贴合正文内容的编程习题,以便于读者复习和熟练掌握Java 程序设计知识并应用到项目开发过程中。
    
    本书适合作为普通高等学校计算机科学与技术、软件工程和物联网工程等相关专业的Java 程序设计基础教材,也可作为相关工程技术人员的自学参考书。
  • 党的二十大报告在实施科教兴国战略,强化现代化建设人才支撑方面指出:“教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。”党中央首次把教育、科技、人才进行“三位一体”统筹安排、一体部署,并放在论述“全面建设社会主义现代化国家的首要任务”之后的突出位置。为了在高等教育中加大“互联网+”软件开发对高校学生人才培养的力度,从计算机类相关专业的人才培养角度出发,编写一本应用广泛的程序设计书籍,显得十分必要和急迫。
    
    Java 语言最初是基于互联网技术的应用而产生的,恰好适应了国家关于IT 行业不断发展的战略需要。如今,Java 语言已经成为一门成熟的面向对象程序设计语言,在所有程序设计语言中占有举足轻重的地位。从面向对象程序设计思想的角度来看,Java 语言在网络、跨平台、多线程和安全性方面比其他程序设计语言更具有优势,更适合程序设计人员作为开发工具使用。从面向对象程序设计的应用角度来说,Java 语言将大部分算法实现进行了封装,程序实现容易,可以节省程序设计人员的开发时间,提高开发效率。
    
    本书第一版和第二版都以面向对象程序设计思想为主线,将所有内容都围绕“封装、继承与多态”展开,所有代码示例严格遵守编程规范。第1 章至第7 章主要阐释了Java 语言程序设计的基础知识,以封装类中的数据属性、构造方法和功能方法作为主线进行讲述,侧重封装、继承与多态之间的相互关系并扩展到Java 的常用类、输入输出、数据结构及应用。第8 章以三个顶层容器和组件对象为主线阐释Java语言程序设计中的GUI 应用,侧重桌面程序的设计。第9 章至第11 章通过典型案例阐释Java 语言程序设计应用中的多线程、网络应用和数据库程序设计,侧重完整项目的开发与设计。
    
    如果读者把本书作为入门教材,建议熟练学习前8 章的内容,培养描述实际问题的程序化解决方案的关键技能,并通过基本算法和数据结构将方案转变成程序。如果读者已经具有一定的编程基础,建议重点学习第9 章、第10 章和第11 章,使用面向对象程序设计的方法开发多线程并发任务程序、网络程序以及操作数据库相关项目,提高程序设计的项目应用能力。在实践方面,本书并没有局限于讲述某一种具体的程序设计集成开发环境,而是让读者能够按照自己的实际要求进行编程,提高了本书使用的通用性。本书每一章都安排了适量的习题,给读者增加自主性思考和实践练习的机会。这些习题既有简单的程序设计题,也有复杂的算法实现题,还有完整的项目实践题,让读者循序渐进地学习Java 语言程序设计。本书第一版采用了Java 语言程序设计的经典学习路线,让读者能够快速掌握Java 语言程序设计的基本内容。随着Java 开发工具库和开发工具版本的不断更新,Java 语言程序设计应用的不断拓展,第一版的内容需要进行修订。与第一版比较,本版保留了大部分原来的章节和内容结构,主要是删除了Java Applet 小程序中组件对象的相关理论和应用内容,增加了Java 与数据库程序设计的内容,同时新增了部分与课程思政相关的拓展阅读,以达到立德树人于无声的教育目的。
    
    本书在综合第一版内容基础上进行修订后,不仅保留了Java 语言程序设计的经典学习路线特征,在内容和形式上更加具有时代特色。不仅在学习内容上与时俱进,而且更多融入了课程思政方面的元素,主要具有以下特色:
    
    (1)多方面融入课程思政元素,拓展Java 语言程序设计阅读资料,以相关案例为载体将思政元素内化为具有思想性和价值性的精神力量。
    
    (2)更加强化面向对象程序设计中的封装、继承和多态特征在程序中的体现,所有的例题和习题都力求用严格的编程规范来实现。
    
    (3)重视理论与实践相结合,突出程序设计动手能力培养的特点。摒弃了传统实验指导书提供部分代码的做法,重点培养完整程序编写的能力。每章后的习题都需要设计编程思想和完成完整的程序代码,以提高程序设计的熟练度。
    
    (4)重视扩展内容深度和广度,重点提升编程能力,重视逻辑思维和计算思维的培养。本书适合作为普通高等学校计算机科学与技术、软件工程和物联网工程等相关专业的Java程序设计基础教材,也可作为相关工程技术人员的自学参考书。
    
    本书由烟台大学计算机与控制工程学院胡光编著。在编著过程中许多领导和同事提出了宝贵的意见和建议,国内高校一些专家也给出了具体指导方案,同时得到了许多朋友的帮助和支持,在此一并表示衷心的感谢。此外,本书参考了许多著作和网站的内容,在此向相关作者表示感谢。
    
    由于计算机程序设计技术发展很快,加之编著者水平有限,书中不足和疏漏之处在所难免,欢迎广大技术专家和读者批评指正。
    
    编著者
    
    2023 年3 月
  • 第1 章 绪论 1
    1.1 Java 概述 1
    1.1.1 Java 语言的产生与发展 1
    1.1.2 Java 语言的特点 1
    1.1.3 Java 语言的开发与运行平台 3
    1.2 Java SE 开发环境 3
    1.2.1 Java SE 的下载、安装与环境变量的配置 3
    1.2.2 Java 语言程序设计工具. 5
    1.3 Java 语言的程序设计过程 5
    1.3.1 Java 应用程序的设计过程 5
    1.3.2 Java 小应用程序的设计过程 8
    1.3.3 Java 语言程序注释  10
    拓展阅读  11
    习题  11
    第2 章 程序设计基础  12
    2.1 标识符、关键字和数据类型 12
    2.1.1 标识符和关键字 12
    2.1.2 基本数据类型 13
    2.1.3 常量和变量 14
    2.1.4 基本数据类型的转换 17
    2.2 操作符和表达式 18
    2.2.1 算术操作符和算术表达式 19
    2.2.2 关系操作符和关系表达式 20
    2.2.3 逻辑操作符和逻辑表达式 20
    2.2.4 位操作符和位操作表达式 21
    2.2.5 赋值操作符和赋值表达式 24
    2.2.6 条件操作符和条件表达式  25
    2.2.7 其他操作符和相关表达式  25
    2.2.8 操作符的优先级和复杂表达式  26
    2.3 控制流语句 27
    2.3.1 顺序结构语句27
    2.3.2 条件控制语句27
    2.3.3 循环控制语句 33
    2.3.4 跳转语句38
    2.4 递归.40
    拓展阅读41
    习题.42
    第3 章 面向对象程序设计 43
    3.1 概述43
    3.1.1 面向对象程序设计的基本概念43
    3.1.2 面向对象程序设计的特点45
    3.2 类、对象和包.47
    3.2.1 类47
    3.2.2 对象54
    3.2.3 包60
    3.3 继承.64
    3.3.1 概述64
    3.3.2 抽象类和最终类.74
    3.3.3 对象的引用转型.76
    3.4 接口81
    3.4.1 概述81
    3.4.2 接口的回调85
    3.5 嵌套类和匿名类87
    3.5.1 嵌套类87
    3.5.2 匿名类89
    3.6 Java 面向对象思想进阶92
    3.6.1 反射92
    3.6.2 注解93
    3.6.3 Java 应用程序常用工具 94
    拓展阅读96
    习题 96
    第4 章 常用类 98
    4.1 字符串 98
    4.1.1 String 类. 98
    4.1.2 StringBuffer 类
    和StringBuilder 类 103
    4.1.3 正则表达式 104
    4.2 数组 111
    4.2.1 一维数组  111
    4.2.2 多维数组 121
    4.3 其他常用类 124
    4.3.1 数据类型类 124
    4.3.2 System 类. 127
    4.3.3 Math 类 128
    4.3.4 日期和时间类 129
    4.4 泛型 133
    4.4.1 泛型类. 134
    4.4.2 泛型接口. 135
    4.5 枚举 136
    4.5.1 枚举的创建 136
    4.5.2 枚举的使用 137
    拓展阅读. 138
    习题. 138
    第5 章 异常处理141
    5.1 概述 141
    5.1.1 程序中的问题 141
    5.1.2 异常类. 142
    5.2 异常处理概述 145
    5.3 自定义异常 148
    5.4 断言 150
    拓展阅读. 151
    习题. 151
    第6 章 输入流和输出流152
    6.1 概述 152
    6.1.1 流 152
    6.1.2 字节流 153
    6.1.3 字符流 154
    6.2 文件输入流和输出流 155
    6.2.1 文件类 155
    6.2.2 文件输入字节流和输出字节流159
    6.2.3 文件字符输入流和字符
    输出流166
    6.3 标准输出流和标准输入流169
    6.3.1 标准输出流169
    6.3.2 格式化输出170
    6.3.3 标准输入流172
    6.3.4 格式化输入172
    6.3.5 标准输入流和标准输出流的
    重定向174
    6.4 其他输入流和输出流176
    6.4.1 RandomAccessFile 类176
    6.4.2 字节流和字符流的综合 177
    6.4.3 对象流179
    拓展阅读 181
    习题 182
    第7 章 常用数据结构. 183
    7.1 集合183
    7.1.1 Collection接口184
    7.1.2 Collections 类185
    7.2 链表186
    7.2.1 链表接口及常用实现类 187
    7.2.2 链表类LinkedList188
    7.2.3 链表类ArrayList193
    7.3 堆栈Stack.195
    7.3.1 向量Vector195
    7.3.2 堆栈Stack的使用 196
    7.4 队列197
    7.5 集合Set200
    7.5.1 HashSet类 200
    7.5.2 TreeSet类202
    7.6 映射Map203
    7.6.1 HashMap类 203
    7.6.2 TreeMap类205
    拓展阅读 207
    习题 207
    第8 章 图形用户界面209
    8.1 概述 209
    8.2 容器类 211
    8.2.1 窗口框架  212
    8.2.2 面板. 214
    8.2.3 其他容器. 215
    8.3 原子组件与布局. 220
    8.3.1 原子组件. 220
    8.3.2 布局管理器 224
    8.4 事件处理 230
    8.4.1 委托事件处理模型 231
    8.4.2 动作事件232
    8.4.3 选项事件234
    8.4.4 文本插入符事件 237
    8.4.5 窗口事件239
    8.4.6 鼠标事件241
    8.4.7 焦点事件和键盘事件 244
    8.4.8 系统托盘图标支持 246
    8.4.9 GUI 程序设计过程 248
    8.5 对话框 248
    8.5.1 标准对话框 249
    8.5.2 自定义对话框 258
    拓展阅读260
    习题260
    第9 章 多线程262
    9.1 概述 262
    9.1.1 基本概念262
    9.1.2 线程的执行 263
    9.2 线程 264
    9.2.1 线程的创建 264
    9.2.2 线程的功能与实现 269
    9.2.3 线程的状态和生命周期 271
    9.2.4 线程的调度和优先级 274
    9.2.5 线程组274
    9.3 多线程同步机制275
    9.3.1 概述 276
    9.3.2 多线程同步的调度282
    拓展阅读 286
    习题286
    第10 章 网络程序设计288
    10.1 概述288
    10.1.1 TCP/IP 288
    10.1.2 IP 地址与通信端口289
    10.1.3 URL 的基本概念290
    10.1.4 Java Web 开发290
    10.2 基于TCP 的Java 网络程序设计293
    10.2.1 Socket 类和ServerSocket 类293
    10.2.2 基于TCP 的Java 网络程序设计过程294
    10.3 基于UDP 的Java 网络程序设计302
    10.3.1 DatagramPacket 类和DatagramSocket 类303
    10.3.2 基于UDP 的Java 网络程序设计过程304
    拓展阅读 306
    习题306
    第11 章 Java 与数据库应用程序设计307
    11.1 概述307
    11.1.1 关系数据库模型307
    11.1.2 关系数据库实例308
    11.2 JDBC 与数据库连接309
    11.2.1 JDBC 驱动程序309
    11.2.2 通过JDBC 访问数据库310
    11.3 Java 与数据库操作314
    11.3.1 查询操作314
    11.3.2 数据库表的操作320
    11.3.3 Java 实现数据库操作的预处理322
    拓展阅读 327
    习题327
    参考文献  328
  • 胡光,烟台大学
  • 本书适合作为普通高等学校计算机科学与技术、软件工程和物联网工程等相关专业的Java 程序设计基础教材,也可作为相关工程技术人员的自学参考书。