|
|
|
|
|
|
Java程序设计与数据结构导论 内容提要 |
|
|
《Java程序设计与数据结构导论》作者颇具匠心地将程序设计、数据结构等相关课程内容有机地包容在一《Java程序设计与数据结构导论》中,解决了这两门专业基础课不能很好衔接的问题,可作为程序设计、数据结构等相关课程的教材。 《Java程序设计与数据结构导论》特点 ●全面介绍了程序设计基础、对象和数据结构,可作为Java程序设计相关课程的入门教材使用。 ●先介绍控制结构和程序设计的基本语句,再介绍类的编写。 ●代码示例丰富,既有就事论事而编写的小程序,也有较大的、易于理解的实用的示例。 ●用单独一章全面介绍图形用户界面,包括一些有意思的图形示例。 ●第11章“创建、测试和调试”的学习有助于读者构建大规模的程序。 ●《Java程序设计与数据结构导论》附赠光盘,光盘中除包括书中所有程序的源代码、Java软件开发工具包、各种Java开发环境外,还包括《Java程序设计与数据结构导论》中文版的附录部分。
|
|
|
|
Java程序设计与数据结构导论 目录 |
|
出版者的话 译者序 前言 第1章 绪论 1 1.1 Java程序设计语言 1 1.1.1 Java程序 2 1.1.2 注释 3 1.1.3 标识符和保留字 4 1.1.4 空白 5 1.2 程序开发 6 1.2.1 程序语言等级 7 1.2.2 编辑器、编译程序和解释程序 8 1.2.3 开发环境 9 1.2.4 语法和语义 9 1.2.5 错误 10 1.3 问题求解 11 1.4 软件开发活动 11 1.5 面向对象程序设计 12 知识点摘要 14 习题 15 第2章 数据和表达式 18 2.1 字符串 18 2.1.1 print及println方法 18 2.1.2 字符串连接 19 2.1.3 转义字符 21 2.2 变量和赋值 22 2.2.1 变量 22 2.2.2 赋值语句 23 2.2.3 常量 24 2.3 基本数据类型 25 2.3.1 整型和浮点型 25 2.3.2 字符类型 26 2.3.3 boolean类型 27 2.4 表达式 27 2.4.1 数学运算符 27 2.4.2 运算符优先级 28 2.4.3 增量及减量运算符 30 2.4.4 赋值运算符 31 2.5 数据转换 31 2.6 读输入数据 33 知识点摘要 36 习题 36 第3章 类及对象的使用 41 3.1 创建对象 41 3.2 String类 43 3.3 包 45 3.4 Random类 47 3.5 Math类 49 3.6 格式化输出 51 3.6.1 NumberFormat类 51 3.6.2 DecimalFormat类 52 3.6.3 printf方法 53 3.7 枚举类型 54 3.8 包装类 55 知识点摘要 56 习题 57 第4章 条件和循环 61 4.1 布尔表达式 61 4.1.1 相等及关系运算符 62 4.1.2 逻辑运算符 62 4.2 if语句 63 4.2.1 if-else语句 65 4.2.2 使用块语句 66 4.2.3 条件运算符 68 4.2.4 嵌套的if语句 69 4.3 数据比较 70 4.3.1 浮点数比较 70 4.3.2 字符比较 70 4.3.3 对象比较 71 4.4 switch语句 72 4.5 while语句 74 4.5.1 无限循环 77 4.5.2 嵌套的循环 77 4.5.3 其他的循环控制 80 4.6 迭代器 80 4.7 do语句 82 4.8 for语句 84 4.8.1 迭代器和for循环 86 4.8.2 循环语句的比较 87 知识点摘要 87 习题 87 第5章 编写类 93 5.1 再谈类和对象 93 5.1.1 类和对象的确定 94 5.1.2 分配职责 95 5.2 类的剖析 95 5.2.1 实例数据 98 5.2.2 UML类图 99 5.3 封装 100 5.3.1 可见性修饰符 100 5.3.2 访问方法和修改方法 101 5.4 方法的剖析 104 5.4.1 return语句 108 5.4.2 参数 108 5.4.3 局部数据 109 5.4.4 再次讨论构造方法 110 5.5 静态类成员 110 5.5.1 静态变量 110 5.5.2 静态方法 110 5.6 类关系 112 5.6.1 依赖 112 5.6.2 同一个类中各对象之间的依赖 113 5.6.3 聚合 117 5.6.4 this引用 117 5.7 方法设计 118 5.7.1 方法分解 118 5.7.2 再次讨论方法参数 121 5.8 方法重载 124 知识点摘要 126 习题 126 第6章 图形用户界面 132 6.1 GUI元素 132 6.1.1 框架和面板 134 6.1.2 按钮和动作事件 135 6.1.3 判定事件源 136 6.2 更多的组件 138 6.2.1 文本域 138 6.2.2 复选框 140 6.2.3 单选按钮 142 6.2.4 滑动条 145 6.2.5 组合框 148 6.2.6 计时器 151 6.3 布局管理器 153 6.3.1 流布局管理器 155 6.3.2 边界布局管理器 157 6.3.3 网格布局管理器 159 6.3.4 盒子布局管理器 160 6.3.5 包含层次 162 6.4 鼠标和键盘事件 162 6.4.1 鼠标事件 162 6.4.2 键盘事件 167 6.4.3 继承适配器类 170 6.5 对话框 170 6.5.1 文件选择器 172 6.5.2 颜色选择器 173 6.6 一些重要细节 174 6.6.1 边界 174 6.6.2 工具提示和助记符 177 6.7 GUI设计 180 知识点摘要 181 习题 181 第7章 数组 186 7.1 数组元素 186 7.2 数组的声明及使用 187 7.2.1 边界检查 188 7.2.2 两种数组语法 191 7.2.3 初值表 191 7.2.4 数组作为参数 192 7.3 对象数组 193 7.4 命令行参数 199 7.5 变长参数表 199 7.6 二维数组 202 知识点摘要 205 习题 205 第8章 继承 209 8.1 创建子类 209 8.1.1 protected修饰符 212 8.1.2 super引用 213 8.1.3 多重继承 215 8.2 方法覆盖 215 8.3 类层次 217 8.3.1 Object类 218 8.3.2 抽象类 219 8.4 可见性 220 8.5 设计继承 221 知识点摘要 222 习题 223 第9章 多态 226 9.1 后绑定 226 9.2 通过继承实现多态 227 9.3 接口 234 9.3.1 接口层次 237 9.3.2 Comparable接口 237 9.3.3 Iterator接口 238 9.4 通过接口实现多态 238 知识点摘要 240 习题 240 第10章 异常 243 10.1 异常处理 243 10.2 不捕获异常 244 10.3 try-catch语句 244 10.4 异常传播 247 10.5 异常类层次 249 10.6 I/O异常 251 知识点摘要 253 习题 253 第11章 创建、测试和调试 256 11.1 创建大型应用程序:JFMail 256 11.2 包 258 11.2.1 通过包来组织代码 258 11.2.2 创建自己的包 258 11.2.3 使用CLASSPATH 259 11.2.4 Java存档(Jar)文件 261 11.2.5 使用其他开发人员的包 262 11.3 建立Java工程 263 11.3.1 IDE和Classpath 263 11.3.2 创建工具和Ant 263 11.4 测试 265 11.4.1 审核 266 11.4.2 缺陷测试 266 11.4.3 单元测试 267 11.4.4 集成测试 267 11.4.5 系统测试 267 11.4.6 JUnit 268 11.4.7 JUnit的进一步讨论 271 11.4.8 测试驱动的开发 273 11.4.9 关于测试及JFMail的最后注释 273 11.5 调试 274 11.5.1 使用print语句进行简单调试 274 11.5.2 调试概念 274 11.5.3 Java调试程序(JDB) 275 11.5.4 调试JFMail程序 277 11.5.5 基于GUI的调试程序 279 知识点摘要 279 习题 280 第12章 递归 282 12.1 递归思想 282 12.1.1 无穷递归 283 12.1.2 数学中的递归 283 12.2 递归程序设计 283 12.2.1 递归与迭代 285 12.2.2 直接递归与间接递归 285 12.3 使用递归 286 12.3.1 走迷宫 286 12.3.2 汉诺塔 289 知识点摘要 292 习题 292 第13章 查找与排序 295 13.1 查找 295 13.1.1 线性查找 297 13.1.2 二分查找 298 13.2 排序 300 13.2.1 选择排序 303 13.2.2 插入排序 304 13.2.3 起泡排序 305 13.2.4 快速排序 305 13.2.5 归并排序 306 13.3 算法分析 308 13.3.1 增长函数和大O()符号 308 13.3.2 比较增长函数 309 13.3.3 分析循环的执行 310 13.3.4 分析递归程序 310 13.4 分析查找及排序算法 311 13.4.1 比较查找算法 311 13.4.2 比较排序算法 312 知识点摘要 313 习题 314 第14章 集合和链表 317 14.1 集合简介 317 14.1.1 独立于实现的接口 317 14.1.2 Java Collections API 318 14.1.3 泛型 318 14.2 包集合 319 14.3 使用数组实现包 322 14.4 链表 327 14.4.1 链表的管理 328 14.4.2 没有链的元素 330 14.5 包的链式实现 330 知识点摘要 333 习题 334 第15章 栈和队列 337 15.1 栈 337 15.2 计算后缀表达式 338 15.3 使用数组实现栈 343 15.4 使用链表实现栈 345 15.5 java.util.Stack类 347 15.6 队列 347 15.7 基数排序 349 15.8 使用数组实现队列 351 15.9 使用循环数组实现队列 354 15.10 使用链表实现队列 357 15.11 栈与队列实现的分析 359 知识点摘要 359 习题 360 第16章 树 364 16.1 树 364 16.2 树的遍历 365 16.2.1 先序遍历 366 16.2.2 中序遍历 366 16.2.3 后序遍历 367 16.2.4 层序遍历 367 16.3 树的实现策略 368 16.3.1 在数组中计算链 368 16.3.2 在数组中保存链 368 16.3.3 链式结点 368 16.4 二叉树实现 369 16.5 决策树 375 知识点摘要 377 习题 378 第17章 查找树和堆 381 17.1 二叉查找树 381 17.1.1 在二叉查找树中添加元素 382 17.1.2 从二叉查找树中删除元素 382 17.2 二叉查找树的实现 384 17.3 平衡的二叉查找树 388 17.3.1 右旋转 389 17.3.2 左旋转 389 17.3.3 右-左旋转 389 17.3.4 左-右旋转 390 17.4 堆 390 17.4.1 向堆中添加元素 391 17.4.2 从堆中删除最大元素 391 17.5 堆的实现 392 17.6 堆排序 396 知识点摘要 397 习题 397 第18章 图 401 18.1 无向图 401 18.2 有向图 402 18.3 带权图 402 18.4 常用的图算法 403 18.4.1 遍历 403 18.4.2 测试连通性 406 18.4.3 最小生成树 406 18.4.4 判定最短路径 408 18.5 图的实现策略 408 18.5.1 邻接表 408 18.5.2 邻接矩阵 409 知识点摘要 410 习题 410 附录
|
|
|
|
|
|
Java程序设计与数据结构导论 调换货原则 |
|
|
|
|
查看评论 |
|
|
|
发布评论 |
|
|
|
|
| |
|
|
|
|