Java程序设计
书 号:9787113234058
丛 书 名:“十三五”普通高等教育规划教材
作 者:杨龙平,李湘林
译 者:
开 本:16开
装 帧:平装
正文语种:中文
出 版 社:中国铁道出版社
定 价:42元
-
内容简介
本书以Java 8为基础,从初学者的角度详细介绍了Java的基本语法、类与对象、继承与多态、导常处理、Java常用类、泛型技术、集合、多线程、Java I/O技术、用户图形界面及网络编程等内容。书中精选了大量的实例,既可培养读者程序设计的思维,帮助读者掌握理论知识,提高程序设计技巧,也有助于培养读者解决实际问题的能力。
本书内容讲解循序渐进,结构安排清晰合理,对在程序设计过程中容易出现的错误进行了解析,可使读者准确把握Java的知识点。
-
前言
Java语言是当前主流的面向对象程序设计语言,其前身是Oak。Java自面世后就非常流行,且发展迅速,具有卓越的通用性、健壮性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、移动电话和互联网等,在全球云计算和移动互联网产业环境下,具备显著的优势和广阔的发展前景。
本书以Java 8为基础,由学校与企业合作共同编写,内容包括:Java语言概述、Java编程基础、类与对象、继承与多态性、异常处理、泛型、Java常用类、多线程、集合、Java I/O技术、用户图型界面和网络编程,并配备丰富的实例。在对程序进行解析时既给出了正确的代码,也把经常出错的代码展示出来,帮助读者分析出错的原因,提高程序纠错能力,让读者少走弯路,提高学习的效果。本书部分章节还设有应用实例,可帮助读者提高程序设计能力,而且前后的内容之间有串连,例如,书中的网络聊天室,融合了网络通信、图形用户界面、集合、泛型技术、多线程等知识点,可使读者在程序设计过程中,学会触类旁通,从而提高开发效率。
本书重在入门与提高,即使是没有编程基础的初学者,也可以通过本书的学习,达到一般编程开发人员的水平。
本书由杨龙平、李湘林任主编,颜菲、王岳、黄友鹏任副主编。其中:第3、4、7、8章由杨龙平编写;第5、6、10章由李湘林编写;第1、2章由颜菲编写;第11、12章由中盈创信(北京)科技有限公司的资深工程师王岳编写;第9章由黄友鹏编写。
由于时间仓促,编者水平有限,书中难免有疏漏与不足之处,欢迎读者批评指正。 -
目录
第1章 Java语言概述 1
1.1 Java的发展历史和特点 1
1.1.1 Java的发展历史 1
1.1.2 Java的特点 1
1.2 Java的运行环境 2
1.2.1 安装Java编译器 2
1.2.2 配置运行环境 3
1.3 第一个Java程序 4
1.3.1 Java源程序 4
1.3.2 Java程序的结构 4
1.3.3 EditPlus编辑器 5
课后习题 5
第2章 Java编程基础 6
2.1 标识符 6
2.1.1 关键字 6
2.1.2 用户自定义标识符 7
2.1.3 标识符的命名规范 7
2.2 Java的数据类型 7
2.2.1 Java的基本数据类型 7
2.2.2 Java的引用数据类型 8
2.3 常量与变量 8
2.3.1 常量 8
2.3.2 变量 9
2.4 运算符和表达式 10
2.4.1 基本运算符 10
2.4.2 三目运算符 11
2.4.3 关系运算符 11
2.4.4 逻辑运算符 12
2.5 程序逻辑控制 12
2.5.1 顺序程序结构 12
2.5.2 分支条件语句 12
2.5.3 循环条件语句 15
2.6 数组的初步使用 18
2.6.1 一维数组的定义与使用 18
2.6.2 二维数组的定义与使用 19
课后习题 21
第3章 类与对象 22
3.1 面向对象程序设计 23
3.1.1 面向对象程序设计
的要素 23
3.1.2 面向对象程序设计
的特性 24
3.1.3 初步认识类和对象 25
3.1.4 面向对象程序设计思路 25
3.2 类的定义和实例化对象 26
3.2.1 类的定义格式 26
3.2.2 对象的定义与使用 28
3.2.3 对象引用的初步分析 30
3.2.4 封装性分析 34
3.3 方法的定义 35
3.3.1 方法定义的格式 35
3.3.2 确定方法所实现的功能 36
3.3.3 设置器setter和
获取器getter 37
3.3.4 参数的传递 38
3.3.5 方法的重载 39
3.4 构造方法 40
3.4.1 构造方法的定义 40
3.4.2 构造方法的使用 40
3.4.3 匿名对象 43
3.5 this关键字 45
3.5.1 this关键字的含义 45
3.5.2 this关键字的使用方法 47
3.6 static关键字 50
3.6.1 static定义方法 50
3.6.2 static定义属性 52
3.6.3 main()方法 53
3.6.4 static的应用——单例设计
(Singleton)模式 54
3.7 字符串 57
3.7.1 字符串String的实例化
对象 57
3.7.2 String字符串常见方法
的使用 59
3.7.3 StringBuffer类及使用 61
3.8 对象数组 62
3.9 应用实例——链表的设计 64
课后习题 69
第4章 继承与多态性 71
4.1 继承的定义与实现 71
4.1.1 继承的引入 72
4.1.2 继承的语法 73
4.1.3 继承关系的对象实例化
过程(super关键字) 75
4.1.4 继承的限制 78
4.2 重写技术 80
4.2.1 方法的重写 80
4.2.2 final关键字 82
4.3 抽象类 84
4.3.1 抽象类的产生 84
4.3.2 抽象类的定义与特点 85
4.3.3 抽象类的使用 86
4.3.4 多态性 88
4.4 接口 91
4.4.1 接口的定义 91
4.4.2 接口的实现 92
4.4.3 接口与多态性 93
4.5 Object类 95
4.5.1 Object类概述 95
4.5.2 equals()方法和toString()
方法的重写 95
4.5.3 instanceof运算符 97
4.6 基本类型类 97
4.6.1 基本类型类的包装类 97
4.6.2 装箱与拆箱 98
4.6.3 数据类型转换 99
4.7 内部类 101
4.7.1 成员内部类 101
4.7.2 匿名内部类 102
4.8 包 103
4.8.1 包的定义 103
4.8.2 包的使用 106
4.8.3 常用系统包 107
4.8.4 创建JAR包 108
4.9 应用实例——宠物商店 108
课后习题 114
第5章 异 常 115
5.1 异常概述 115
5.1.1 异常的产生 115
5.1.2 标准异常类 116
5.2 异常的处理 118
5.2.1 异常的捕获与处理 118
5.2.2 异常的处理语句结构 118
5.2.3 Exception和Runtime
Exception 122
5.2.4 throw和throws 123
5.3 自定义异常 124
5.4 应用实例——计算机故障处理 125
课后习题 127
第6章 泛 型 128
6.1 泛型概述 128
6.1.1 泛型的引出 128
6.1.2 泛型通配符 131
6.2 泛型的使用 133
6.2.1 泛型接口 133
6.2.2 泛型方法 134
6.3 应用实例——在书包中装书或者
计算机 134
课后习题 135
第7章 Java常用类及开发工具 136
7.1 时间日期类 136
7.1.1 System类 136
7.1.2 Date类和Calendar类 137
7.1.3 DateFormat和SimpleDate
Format 139
7.2 数学函数类 141
7.2.1 Math类 141
7.2.2 Random类 142
7.3 正则表达式 143
7.3.1 正则表达式的引出 143
7.3.2 正则表达式的标记 144
7.3.3 正则表达式在String中
的使用 146
7.3.4 Pattern类和Matcher类 149
7.4 Comparable接口和Comparator
接口 150
7.5 Eclipse开发工具 153
7.5.1 Eclipse界面 153
7.5.2 Eclipse的基本使用
方法 154
7.5.3 Eclipse的快捷功能 156
7.6 应用实例——邮件合法性的
验证 156
课后习题 157
第8章 多 线 程 158
8.1 多线程概述 158
8.1.1 进程与线程 158
8.1.2 线程的执行流程 159
8.2 多线程的创建 160
8.2.1 继承Thread类 160
8.2.2 实现Runnable接口 161
8.2.3 两种方法的比较 162
8.3 线程的状态 162
8.4 常用线程方法 163
8.5 多线程的同步与互斥 165
8.5.1 临界资源引发的问题 165
8.5.2 线程的互斥 166
8.5.3 使用Lock解决互斥 169
8.5.4 多线程间的通信问题 171
8.6 应用实例——多生产者与
多消费者问题 173
课后习题 176
第9章 集 合 177
9.1 集合概述 177
9.1.1 集合的引出 177
9.1.2 集合框架设计 178
9.1.3 集合的分类 179
9.2 Collection接口和Iterator
接口 179
9.2.1 Collection接口 179
9.2.2 Iterator接口 180
9.3 List接口及其实现类 182
9.3.1 List接口 182
9.3.2 ArrayList类 183
9.3.3 LinkedList类 185
9.4 Set接口及其实现类 187
9.4.1 Set接口 187
9.4.2 HashSet类 187
9.4.3 TreeSet类 188
9.5 Properties类 190
9.6 应用实例——二叉树的实现 192
课后习题 195
第10章 Java I/O技术 196
10.1 文件操作 196
10.1.1 文件操作类 196
10.1.2 文件列表和文件
类型过滤 199
10.2 字节流 200
10.2.1 流的引入 200
10.2.2 FileInputStream类 201
10.2.3 FileOutpuStream类 203
10.3 字符流 205
10.3.1 字符输入流
FileReader类 205
10.3.2 字符输出流
FileWriter类 207
10.3.3 字符缓冲流的使用 209
10.4 转换流 210
10.4.1 字符的编码与解码 210
10.4.2 InputStreamReader类和
OutputStreamWriter类 211
10.5 数据流和打印流 213
10.5.1 数据流 213
10.5.2 打印流 215
10.6 管道流 217
10.7 应用实例——文件的分割与
合并 219
课后习题 223
第11章 用户图形界面 224
11.1 图形开发界面概述 224
11.1.1 AWT组件 224
11.1.2 Swing组件 226
11.1.3 布局管理 227
11.2 事件处理机制 230
11.2.1 事件监听机制 230
11.2.2 动作事件处理 233
11.2.3 窗体事件处理 234
11.2.4 鼠标事件处理 237
11.2.5 键盘事件处理 238
11.3 对话框 240
11.3.1 自定义对话框 240
11.3.2 系统对话框 242
11.4 应用实例——简单记事本
的开发 243
课后习题 247
第12章 网 络 编 程 249
12.1 网络编程的要素概述 249
12.1.1 网络IP和域名 249
12.1.2 网络协议与端口 249
12.2 基于TCP的网络编程 250
12.2.1 InetAddress类 250
12.2.2 Socket类和
ServerSocket类 251
12.2.3 简单Socket编程 251
12.2.4 多线程Socket编程 255
12.3 基于UDP的网络编程 260
12.3.1 DatagramPacket和
DatagramSocket 260
12.3.2 简单数据报编程 262
12.4 应用实例——简单网络
聊天室开发 263
课后习题 276 -
作者介绍
杨龙平北京工业大学软件工程硕士,柳州铁道职业技术学院的教师,承担过本科层次和高职层次的《Java程序设计》、《C程序设计》等专业课程教学任务,积累了丰富的教学经验。撰写了10来篇论文,公开发表在中文核心等学术期刊,主持或参与的市级以上课题项目有5项,大多数已经结题,获得过学校教学成果二等奖。指导学生参加省级技能竞赛,获得2项一等奖,在全国职业院校技能竞赛中获得过2项三等奖。是广西高职高专计算机专业委员会的委员、广西信息安全学会理事。 -
编辑推荐
本书适合作为普通高等院校计算机相关专业的教材,也可供初学者及有一定编程基础的读者学习或参考。 -
书评书荐
-
附件下载
图书推荐




