图书>教材>本科教材>工学门类>计算机程序设计
Java程序设计:从方法学角度描述

Java程序设计:从方法学角度描述"

作者:化志章等
ISBN:978-7-111-34087-4
定价:¥33.0
字数:353千字
页数:
出版时间:2011-12-02
开本:16
版次:
装帧:
出版社:机械工业出版社
简介

本书是从方法学角度阐述Java语言的第一本教材,旨在让学生既要“知其然”,更要“知其所以然”。方法学思想不仅可以引导学习过程,更能培养一种良好的学习方式。借助方法学这一视角,用一种更符合自然逻辑的方式引导知识地学习,对所学知识快速建立起逻辑合理的脉络框架。由大入小,由小入微。让学生不仅“知其然”,更要“知其所以然”。纷杂的语法、规则仅仅是上述方法学思想的逻辑诠释。本书内容大致可分成三部分:第一部分(1~3章)介绍程序设计语言的基本要素和开发方法;第二部分(4~5章)介绍Java语言如何支持面向对象;第三部分(6~11章)阐述Java的特色机制,包括:多线程、异常处理和断言、GUI编程基础和Applet、I/O流、网络通信、泛型机制等。本书可作为计算机专业及相关专业本科生的教学用书,和研究生的参考用书,也可供软件工程师及读者自学参考。由于本书蕴含了对计算机知识的学习和思考的独特方法,因此对希望学习了解软件开发的各类人员也有一定的参考价值。

前言

目录

序言:为何要从方法学角度描述
教学建议
第1章 程序设计语言概述 1
1.0 本章方法学导引 1
1.1 程序的含义和程序设计策略 2
1.1.1 程序的含义 2
1.1.2 程序设计的通用策略 2
1.2 程序设计语言的重要属性 4
1.2.1 语言的设计范型 4
1.2.2 类型系统 5
1.2.3 编译型语言和解释型语言 6
1.3 Java语言概述 7
1.3.1 Java语言的诞生和发展 7
1.3.2 Java语言的特点 8
1.3.3 Java编程环境 10
1.3.4 Java程序的运行原理 12
思考与练习 14
第2章 程序设计语言的基本成分 15
2.0 本章方法学导引 15
2.1 程序设计语言基本成分概述 16
2.2 字符集 17
2.3 词法元素 17
2.3.1 标识符和关键字 17
2.3.2 运算符、分隔符和限界符 18
2.3.3 字面量 19
2.3.4 注释 19
2.4 数据类型 19
2.4.1 什么是数据类型 19
2.4.2 数据类型的实例 21
2.4.3 Java类型系统概述 22
2.4.4 Java的基本数据类型 22
2.4.5 Java的引用数据类型 25
2.4.6 数组 27
2.4.7 字符串 29
2.5 表达式 31
2.5.1 表达式的含义 31
2.5.2 表达式计算过程中的类型转换 32
2.5.3 表达式的运算顺序 33
2.6 语句 34
2.6.1 语句概述 34
2.6.2 说明语句 34
2.6.3 赋值语句 35
2.6.4 输入和输出语句 35
2.6.5 控制语句 37
2.6.6 标签和转向语句 45
2.7 子程序 46
2.7.1 子程序概述 46
2.7.2 子程序的参数传递 47
2.7.3 Java的应用程序结构 49
思考与练习 49
第3章 程序设计方法概述 52
3.0 本章方法学导引 52
3.1 问题规模对程序设计方法的影响 53
3.2 结构化程序设计方法 54
3.2.1 方法起源 54
3.2.2 核心思想 54
3.2.3 实例剖析 55
3.2.4 结构化程序设计方法的优缺点 56
3.3 面向对象程序设计方法 56
3.3.1 方法起源 56
3.3.2 核心思想 57
3.3.3 基本概念 58
3.3.4 实例剖析 60
3.4 两种方法的简单评述 61
思考与练习 62
第4章 面向对象语言基础 64
4.0 本章方法学导引 64
4.1 区分类、对象和对象的引用 65
4.1.1 一个简单的例子 65
4.1.2 对象和对象引用的内存管理 66
4.1.3 对象及其引用的创建和初始化 69
4.1.4 对象的销毁 70
4.2 对象的使用 71
4.2.1 对象的引用 71
4.2.2 赋值 72
4.2.3 相等判断 72
4.2.4 对象数组 73
4.2.5 从存储管理角度解释参数传递 74
4.2.6 成员变量和局部变量 75
4.3 类的继承 76
4.3.1 继承的语法 76
4.3.2 is-A与has-A关系 77
4.3.3 构造函数的调用顺序 77
4.3.4 super和this 78
4.4 类及其成员的修饰 80
4.4.1 访问权限修饰 80
4.4.2 final修饰 81
4.4.3 static修饰 82
4.5 对象的多态 84
4.5.1 多态的含义 84
4.5.2 重载 85
4.5.3 重写 86
4.5.4 重定义 89
4.5.5 instanceof与多态性 90
4.6 抽象类和接口 91
4.6.1 抽象类和接口的引入背景 91
4.6.2 抽象方法和抽象类 91
4.6.3 接口 93
4.7 类中的特殊成员 97
4.7.1 内嵌类型 97
4.7.2 初始化块 100
4.7.3 本地方法 101
思考与练习 101
第5章 类的管理以及常用工具类 104
5.0 本章方法学导引 104
5.1 包 105
5.1.1 包的声明和导入 105
5.1.2 访问权限 107
5.2 包装器类和自动装箱/拆箱 108
5.2.1 包装器类的引入背景 108
5.2.2 包装器类的构造函数 109
5.2.3 包装器类的常用方法 109
5.2.4 自动装箱和自动拆箱 110
5.3 枚举 111
5.4 数组的高级应用 112
5.4.1 紧凑型for循环结构 112
5.4.2 复制数组 112
5.4.3 Arrays工具类 113
5.5 字符串的高级应用 114
5.5.1 StringBuffer和StringBuilder 114
5.5.2 正则表达式 114
5.5.3 String的高级应用 116
思考与练习 118
第6章 异常处理和断言 120
6.0 本章方法学导引 120
6.1 异常机制概述 121
6.1.1 异常难以避免 121
6.1.2 传统的异常处理手段 121
6.1.3 Java的异常处理策略 122
6.1.4 Java异常的分类 122
6.2 异常处理机制 123
6.2.1 异常的捕获和处理 123
6.2.2 异常的声明 125
6.3 对异常机制的补充 126
6.3.1 虚拟机异常和程序性异常 126
6.3.2 异常的传播 126
6.3.3 对重写方法的补充说明 127
6.4 自定义异常类 128
6.5 断言 129
思考与练习 130
第7章 线程 131
7.0 本章方法学导引 131
7.1 线程机制概述 132
7.1.1 并发程序的引入背景 132
7.1.2 程序、进程与线程 132
7.1.3 Java线程机制概述 133
7.1.4 Java的线程状态和生命周期 135
7.2 线程的构造和运行 136
7.2.1 用Thread类构造线程对象 136
7.2.2 用Runnable辅助构造线程 138
7.3 线程的互斥机制 139
7.3.1 为何需要引入互斥机制 139
7.3.2 怎样实现互斥 140
7.3.3 synchronized标记 141
7.3.4 关于互斥的进一步讨论 142
7.4 线程的同步机制 144
7.4.1 线程的异步与同步 144
7.4.2 如何实现同步 144
7.4.3 Java的同步机制实现 145
7.5 线程调度 147
7.5.1 线程的优先级和调度策略 148
7.5.2 线程调度常用方法 149
思考与练习 150
第8章 GUI编程基础和Applet 152
8.0 本章方法学导引 152
8.1 GUI编程概述 153
8.1.1 字符用户界面和图形用户界面 153
8.1.2 图形用户界面的基本元素 153
8.1.3 awt和swing 154
8.1.4 GUI编程涉及的基本环节 155
8.2 一个简单界面的设计 155
8.2.1 常用组件介绍 155
8.2.2 一个简单GUI界面的设计实例 156
8.3 委托事件处理模型 157
8.3.1 模型的方法学思想 157
8.3.2 模型的构成要素和应用步骤 158
8.3.3 两个简单的事件处理实例 159
8.3.4 适配器类 162
8.4 布局管理 163
8.4.1 布局管理概述 163
8.4.2 Flow布局 164
8.4.3 GridLayout布局 165
8.4.4 BorderLayout布局 165
8.5 一个综合案例 166
8.6 Applet应用程序 169
8.6.1 什么是Applet 169
8.6.2 URL和HTML 169
8.6.3 一个简单的Applet 170
8.6.4 Applet生命周期和主要方法 171
8.6.5 Applet综合应用示例 173
8.6.6 Applet的安全限制 174
8.7 绘图基础 174
8.7.1 概述 174
8.7.2 绘图机制 175
8.7.3 若干示例 175
思考与练习 178
第9章 I/O流 180
9.0 本章方法学导引 180
9.1 I/O流概述 181
9.1.1 I/O流的引入背景 181
9.1.2 I/O流的总体设计 182
9.1.3 I/O流的基本应用框架 183
9.2 应用1:文件读/写 183
9.2.1 相关类简介 183
9.2.2 逐个字符读/写文件 184
9.2.3 按字符流整体读/写文件 185
9.2.4 基于缓冲区读/写文件 186
9.2.5 一个简单的文本文件编辑器 186
9.3 应用2:基本类型数据的读/写 189
9.3.1 系统类和标准流 190
9.3.2 从标准输入流读取数据 190
9.3.3 数值型数据的读/写 191
9.3.4 标准I/O重定向 193
9.4 应用3:对象的序列化 193
9.4.1 对象序列化的产生背景 193
9.4.2 对象序列化的实现 194
9.4.3 自定义序列化/反系列化过程 197
思考与练习 198
第10章 网络通信 200
10.0 本章方法学导引 200
10.1 基础知识 201
10.1.1 计算机网络和Java语言 201
10.1.2 网络中的相关标识 201
10.1.3 网络协议 202
10.2 以URL方式访问网络资源 204
10.2.1 相关类简介 204
10.2.2 URL访问网络资源的基本步骤 205
10.2.3 三个例子 205
10.3 基于流的端对端通信方式 208
10.3.1 相关类简介 208
10.3.2 实施通信的基本步骤 208
10.3.3 两个例子 209
10.4 基于数据报的端对端通信方式 213
10.4.1 相关类简介 213
10.4.2 实施通信的基本步骤 213
10.4.3 一个例子 214
思考与练习 215
第11章 泛型与集合框架 216
11.0 本章方法学导引 216
11.1 泛型含义及引入背景 217
11.2 Java泛型声明 218
11.2.1 泛型的简单声明和具体化 218
11.2.2 泛型参数的应用场合 219
11.2.3 给泛型参数加上约束 220
11.2.4 泛型参数的通配符 223
11.3 Java泛型实现机理及注意事项 226
11.3.1 Java泛型实现机理:擦拭 226
11.3.2 Java泛型机制的相关约束 228
11.4 泛型综合应用示例 230
11.4.1 一个简单的泛型容器 231
11.4.2 泛型迭代器 232
11.5 泛型综合应用:集合框架 235
11.5.1 集合框架引入背景 235
11.5.2 集合框架的基础结构 236
11.5.3 List结构应用示例 237
11.5.4 Set结构应用示例 239
11.5.5 Map结构应用示例 241
思考与练习 243
参考文献 245

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个