普通高等院校应用型人才培养“十三五”规划教材:Java程序设计(慕课版)
定 价:49 元
丛书名:普通高等院校应用型人才培养“十三五”规划教材
- 作者:[中国]焦铬;王映龙;刘青云
- 出版时间:2019/9/1
- ISBN:9787113259433
- 出 版 社:中国铁道出版社
- 中图法分类:TP312JA
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
本书以面向对象的设计思想为主线,结合Java的新特性,详细讲解了Java的基础语法,逐步引入面向对象思想,重点解释面向对象的三大特征、接口及应用和程序设计方法等重要知识点,并深入讲解字符串处理、标准类库、异常处理、输入/输出处理、图形化界面、多线程、JDBC和网络编程等方面的编程方法。本书注重可读性和实用性,内容全面、讲解细致,所有例题都经过精心的设计,既能帮助学生理解知识,又具有启发性。本书适合作为普通高等院校计算机等相关专业Java语言程序设计教材,也可以作为全国计算机等级考试(二级)Java程序设计的辅导用书,以及Java编程爱好者的自学参考书。
本书开发了MOOC教学资源网站,方便线上线下学习。
根据2019年3月TOIBE发布的编程语言排行榜,Java语言仍是全球编程使用率高的语言之一。市场调研机构Gartner公布了2018年第四季度智能手机市场报告,报告显示基于Java的Android操作系统占全球智能手机市场的88%和平板计算机市场的65%,Java语言也广泛地应用于移动设备的编程。随着物联网和“互联网+”与传统行业的深度结合,社会需要大量精通Java的工程师,人才市场需求旺盛。本书采用基础优先的方式,从编程基础开始,逐步引入面向对象思想,重点解释面向对象的三大特征和接口的编程方法,深入讲解Java输入/输出、异常处理、图形化界面、多线程、JDBC和网络编程等知识点,注重教材的可读性和实用性,所有例题都经过精心的设计,既能帮助读者理解知识,又具有启发性。本书的主要特点如下:(1)紧跟设计开发的步伐,很多章节都涉及Java的新特性,软件都使用当前流行的较新版本。(2)每章都增加了一个综合案例设计,把本章及前面章节的知识点很好地串联起来,使读者能更好地理解和运用。(3)多线程是Java语言的一大特点,占有很重要的地位,通过有针对性的例子使读者掌握多线程的概念,并使用多线程来解决实际问题。(4)数据库的使用无处不在,本书中增加了深受中小企业欢迎的MySQL数据库的使用,重点讲解了Java使用JDBC操作MySQL、SQL Server数据库的方法。(5)增加了网络编程的知识,在读者学完Java语言的基础知识后,为学生深入学习网络编程打下基础。(6)开发了MOOC教学资源网站,方便线上线下学习。本书由衡阳师范学院、江西农业大学、湖南交通工程学院的老师合作编写,由焦铬、王映龙、刘青云任主编,蒋劼、李翔、范双南任副主编。具体编写分工:第1~3、12章由焦铬和王映龙编写,第6、7、9、11章由蒋劼和范双南编写,第4、5、8、13章由刘青云编写,第10章由李翔编写。另外,林睦纲、雷天齐、赵军霞等老师参与了第1、6、7章的编写工作,全书由焦铬统稿。在本书的编写过程中,编者根据多年的教学经验,结合Java的新特性,整理出适于读者学习,并提供相应编程思路的源程序;开发了MOOC教学资源网站,方便线上线下学习,Java语言程序设计优质课程建设网站网址http://mooc1.chaoxing.com/course/ 201741979.html。本书得到湖南省普通高等学校教学改革研究项目(湘教通〔2018〕436号,No: 516)、教育部2018年第一批产学合作协同育人项目(201801193033)和衡阳师范学院优质课程“Java语言程序设计”项目的支持,涉及的案例具有很强的实用性和代表性。本书提供教学课件、源程序和习题答案,有教学需要的老师可以在中国铁道出版社有限公司的网站上下载,也可以发邮件向编者索取。编者的联系方式:jiaoge@126.com。由于时间仓促,编者水平有限,书中疏漏和不妥之处在所难免,恳请广大读者批评指正。编 者 2019年5月
焦铬:男,博士,副教授,衡阳师范学院计算机系主任,从事计算机专业课程教学十六年,主讲《Java语言程序设计》八年,主持湖南省自然科学基金面上项目、湖南省教育厅优秀青年项目、教育部产学合作协同育人项目、湖南省普通高校教学改革研究项目等多项科研教研项目,2016年获湖南省教学成果奖三等奖、两次获衡阳师范学院教学成果奖一等奖、《Java语言程序设计》是衡阳师范学院校级优质课程。指导学生获得湖南省大学生物联网应用创新设计大赛创意赛一等奖1项、二等奖3项、三等奖1项,湖南省大学生计算机程序设计竞赛应用开发竞赛二等奖2项、三等奖1项,获得软件著作权16项,主编过《Visual Basic程序设计》等教材,以第一作者在SCI、EI、CSCD收录的期刊上发表论文30多篇,在《计算机教育》发表教研论文多篇,作者具有丰富的程序开发经验。王映龙:教授,江西农业大学软件学院副院长,工学博士,硕士生导师,学科带头人,省青年骨干教师;主讲大型数据库技术,计算机原理,数据挖掘等多门课程,主持省级及以上科研项目六项;主编教材九部,在核心以上期刊发表论文二十余篇。刘青云:男,硕士,衡阳师范学院教师,曾在国内某高校担任超算系统运维工程师,主要研究方向为嵌入式系统与计算。主要讲授课程:Java程序设计、网络编程技术、计算机基础与应用。
第1章 Java开发入门 11.1 Java语言的发展 11.2 Java语言的特点 31.2.1 Java语言的优点 31.2.2 Java与其他程序设计语言的异同 41.3 Java的运行与开发环境 51.3.1 Java JDK下载与安装 51.3.2 配置环境变量 61.3.3 Java API文档 71.4 Java程序举例 81.4.1 Java程序开发步骤 81.4.2 编写Java源程序 91.4.3 编译和运行 91.5 Eclipse开发工具 101.5.1 Eclipse的安装 101.5.2 Eclipse的汉化 121.5.3 Eclipse进行程序开发 131.5.4 Eclipse程序调试 171.6 综合案例 19小结 20习题 21第2章 Java程序设计基础 222.1 标识符和关键字 222.1.1 标识符 222.1.2 关键字 232.1.3 注释 232.2 常量和变量 242.2.1 常量 242.2.2 变量与赋值 252.2.3 变量的作用域 252.3 基本数据类型 282.3.1 数据类型的分类 282.3.2 整数类型 292.3.3 浮点类型 302.3.4 字符类型 302.3.5 布尔类型 312.3.6 字符串类型 312.3.7 数据类型转换 322.4 运算符和表达式 332.4.1 算术运算符与算术表达式 332.4.2 赋值运算符与赋值表达式 342.4.3 关系运算符与关系表达式 352.4.4 逻辑运算符与逻辑表达式 362.4.5 条件运算符 362.4.6 位运算符 372.4.7 运算符的优先级 392.5 程序控制语句 402.5.1 语句概述 402.5.2 选择语句 402.5.3 循环语句 442.5.4 跳转语句 472.6 综合案例 48小结 50习题 51第3章 数组 533.1 一维数组 533.1.1 一维数组的声明 533.1.2 一维数组分配空间 543.1.3 一维数组的初始化 553.1.4 一维数组的访问 553.1.5 一维数组的应用举例 563.2 二维数组 573.2.1 二维数组的声明 573.2.2 创建二维数组 583.2.3 二维数组的初始化 583.2.4 二维数组的访问 593.2.5 二维数组的应用举例 603.3 Arrays类 603.3.1 数组的排序 613.3.2 填充数据元素 613.3.3 数组的比较 623.3.4 数组的复制 623.3.5 数组的查找 643.4 综合案例 65小结 67习题 68第4章 面向对象程序设计 704.1 Java程序结构 704.1.1 Java程序层次结构 704.1.2 Java工程结构及源码示例 714.2 类和对象 724.2.1 类的定义 724.2.2 对象的创建和使用 744.2.3 指针、引用与对象 754.2.4 对象的this引用 764.2.5 类成员和实例成员 774.3 成员变量与局部变量 784.3.1 成员变量的定义和使用 784.3.2 局部变量的定义和使用 794.3.3 变量同名问题 804.4 构造器 824.4.1 构造器的定义 824.4.2 构造器的调用 834.5 初始化块 834.5.1 代码块 844.5.2 普通初始化块 864.5.3 静态初始化块 884.5.4 初始化块的执行 894.6 成员方法 914.6.1 方法的定义和调用 924.6.2 方法的重载 934.6.3 方法的参数传递机制 934.6.4 实参长度可变的方法 954.7 封装性 964.7.1 包package 964.7.2 Java常用包 974.7.3 类成员的封装和访问控制 974.7.4 类的访问控制和import语句 994.8 继承性 1004.8.1 类的继承 1014.8.2 方法的重写 1024.8.3 super关键字 1034.9 多态性 1054.9.1 实现多态 1054.9.2 引用变量的强制类型转换 1074.9.3 instanceof关键字 1084.10 综合案例 109小结 111习题 111第5章 面向对象高级程序设计 1145.1 类和对象的生存周期 1145.1.1 类的加载 1145.1.2 对象的销毁 1155.1.3 堆栈和常量池 1165.2 final修饰符 1185.2.1 final修饰成员变量 1185.2.2 final修饰局部变量 1195.2.3 final修饰变量的本质 1205.2.4 final修饰方法 1215.2.5 final修饰类 1215.3 抽象类 1225.3.1 抽象类和抽象方法 1225.3.2 抽象类的作用 1235.4 接口 1245.4.1 接口的定义 1255.4.2 接口继承和使用 1265.5 内部类 1285.5.1 成员内部类的定义 1285.5.2 成员内部类的使用 1305.5.3 匿名内部类 1325.6 枚举类 1335.6.1 枚举类的简单使用 1335.6.2 枚举类的定义 1355.7 其他特殊类 1365.7.1 java.lang.Object 1365.7.2 单例类 1375.7.3 不可变类 1385.8 综合案例 139小结 141习题 142第6章 字符串处理 1446.1 String类 1446.1.1 构造字符串 1446.1.2 操作字符串的主要方法 1456.2 StringBuffer和StringBuilder类 1466.3 综合案例 147小结 152习题 152第7章 Java标准类库 1537.1 数据类型包装器 1537.1.1 基本数据类型对应的包装类 1537.1.2 包装类的使用 1547.2 System和Runtime类 1547.3 Math和Random类 1557.4 日期时间实用工具类 1597.5 集合类 1657.5.1 集合框架和泛型 1657.5.2 Collection接口 1677.5.3 Set接口及其实现 1677.5.4 List接口及其实现 1717.5.5 Map接口及其实现 1727.6 综合案例 174小结 182习题 183第8章 异常处理机制 1858.1 异常概述 1858.2 异常的体系结构 1868.3 异常处理机制 1878.3.1 捕获异常 1878.3.2 声明抛弃异常 1908.3.3 访问异常信息 1918.4 手动抛出异常 1918.5 自定义异常类 1928.6 异常处理规则 1948.7 综合案例 195小结 200习题 200第9章 输入/输出处理 2039.1 I/O流的概念和划分 2039.2 字节流和字符流处理 2049.3 串行化 2069.4 综合案例 208小结 210习题 211第10章 多线程 21310.1 多线程的概念和创建 21310.2 线程的调度及生命周期 21410.2.1 线程调度 21510.2.2 线程生命周期 21810.3 多线程同步 21910.3.1 多线程同步 21910.3.2 Lock锁的使用 22210.4 线程间死锁与通信 22310.4.1 线程死锁问题 22310.4.2 线程间通信 22510.5 综合案例 227小结 229习题 230第11章 GUI程序设计 23211.1 GUI类的发展 23211.2 JavaFX程序的基本结构 23211.3 事件驱动的GUI程序 23311.4 综合案例 235小结 238习题 238第12章 JDBC数据库编程 23912.1 JDBC体系结构 23912.1.1 JDBC的结构 23912.1.2 JDBC API 24012.2 MySQL数据库 24012.2.1 在Windows系统上安装MySQL 24012.2.2 使用MySQL命令行工具 24212.2.3 使用Navicat操作MySQL数据库 24512.3 通过JDBC访问数据库 24612.3.1 数据库的访问步骤 24612.3.2 访问MySQL数据库 24812.3.3 访问SQLServer数据库 25212.4 综合案例 255小结 263习题 264第13章 网络编程 26613.1 网络编程基础 26613.1.1 网络基础知识 26613.1.2 InetAddress类 26713.2 URL通信 26913.2.1 URL类 26913.2.2 URLConnection类 27113.3 TCP通信 27213.3.1 使用ServerSocket创建服务器端 27213.3.2 使用Socket进行通信 27413.4 UDP通信 27513.4.1 DatagramSocket类和DatagramPacket类 27513.4.2 使用DatagramSocket通信 27713.5 综合案例 279小结 283习题 284参考文献 286