Java 语言程序设计-(英文版.第10版)-(进阶篇)

本书特色

[

本书是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每章配有复习题和编程练习题,帮助读者掌握编程技术,并应用所学技术解决实际应用开发中遇到的问题。进阶篇主要介绍列表、栈、队列、排序、二分查找树、AVL树、散列、图及其应用、并行程序设计、网络、Java数据库程序设计以及JSF等内容。本书可作为高等院校相关专业程序设计课程的基础教材,也可作为Java语言及编程爱好者的参考资料。

]

作者简介

[

Y. Daniel Liang:普度大学终身教授,阿姆斯特朗亚特兰大州立大学计算机科学系教授。他所编写的Java教程在美国大学Java课程中采用率高,同时他还兼任Prentice Hall Java系列丛书的编辑。梁勇(Y. Daniel Liang),阿姆斯特朗亚特兰大州立大学计算机科学系Yamacraw教授。之前曾是普渡大学计算机科学系副教授,并曾两次获得普渡大学大学杰出研究奖。他所编写的Java教程在美国大学Java课程中采用率高。

]

目录

目  录出版者的话前言第1章 计算机、程序和Java概述 11.1 引言 21.2 什么是计算机 21.3 编程语言 71.4 操作系统 91.5 Java、万维网以及其他 101.6 Java语言规范、API、JDK和IDE 111.7 一个简单的Java程序 121.8 创建、编译和执行Java程序 151.9 程序设计风格和文档 181.10 程序设计错误 201.11 使用NetBeans开发Java程序 231.12 使用Eclipse开发Java程序 25第2章 基本程序设计 332.1 引言 342.2 编写简单的程序 342.3 从控制台读取输入 372.4 标识符 392.5 变量 402.6 赋值语句和赋值表达式 412.7 命名常量 432.8 命名习惯 442.9 数值数据类型和操作 442.10 数值型直接量 482.11 表达式求值以及操作符优先级 502.12 示例学习:显示当前时间 522.13 增强赋值操作符 542.14 自增和自减操作符 552.15 数值类型转换 562.16 软件开发过程 592.17 示例学习:整钱兑零 632.18 常见错误和陷阱 65第3章 选择 753.1 引言 763.2 boolean数据类型 763.3 if语句 783.4 双分支if-else语句 803.5 嵌套的if语句和多分支if-else语句 813.6 常见错误和陷阱 833.7 产生随机数 873.8 示例学习:计算身体质量指数 893.9 示例学习:计算税率 903.10 逻辑操作符 933.11 示例学习:判定闰年 973.12 示例学习:彩票 983.13 switch语句 1003.14 条件表达式 1033.15 操作符的优先级和结合规则 1043.16 调试 106第4章 数学函数、字符和字符串 1194.1 引言 1204.2 常用数学函数 1204.3 字符数据类型和操作 1254.4 String类型 1304.5 示例学习 1394.6 格式化控制台输出 145第5章 循环 1575.1 引言 1585.2 while循环 1585.3 do-while循环 1685.4 for循环 1705.5 采用哪种循环 1745.6 嵌套循环 1765.7 *小化数值错误 1785.8 示例学习 1795.9 关键字break和continue 1845.10 示例学习:判断回文串 1875.11 示例学习:显示素数 188第6章 方法 2036.1 引言 2046.2 定义方法 2046.3 调用方法 2066.4 void方法示例 2096.5 通过传值进行参数传递 2126.6 模块化代码 2156.7 示例学习:将十六进制数转换为十进制数 2176.8 重载方法 2196.9 变量的作用域 2226.10 示例学习:生成随机字符 2236.11 方法抽象和逐步求精 225第7章 一维数组 2457.1 引言 2467.2 数组的基础知识 2467.3 示例学习:分析数字 2537.4 示例学习:一副牌 2547.5 数组的复制 2567.6 将数组传递给方法 2577.7 从方法中返回数组 2607.8 示例学习:统计每个字母出现的次数 2617.9 可变长参数列表 2647.10 数组的查找 2657.11 数组的排序 2697.12 Arrays类 2707.13 命令行参数 272第8章 多维数组 2878.1 引言 2888.2 二维数组的基础知识 2888.3 处理二维数组 2918.4 将二维数组传递给方法 2938.5 示例学习:多选题测验评分 2948.6 示例学习:找出距离*近的点对 2968.7 示例学习:数独 2988.8 多维数组 301第9章 对象和类 3219.1 引言 3229.2 为对象定义类 3229.3 示例:定义类和创建对象 3249.4 使用构造方法构造对象 3299.5 通过引用变量访问对象 3309.6 使用Java库中的类 3349.7 静态变量、常量和方法 3379.8 可见性修饰符 3429.9 数据域封装 3449.10 向方法传递对象参数 3479.11 对象数组 3519.12 不可变对象和类 3539.13 变量的作用域 3559.14 this引用 356第10章 面向对象思考 36510.1 引言 36610.2 类的抽象和封装 36610.3 面向对象的思考 37010.4 类的关系 37310.5 示例学习:设计Course类 37610.6 示例学习:设计栈类 37810.7 将基本数据类型值作为对象处理 38010.8 基本类型和包装类类型之间的自动转换 38310.9 BigInteger和BigDecimal类 38410.10 String类 38610.11 StringBuilder和StringBuffer类 392第11章 继承和多态 40911.1 引言 41011.2 父类和子类 41011.3 使用super关键字 41611.4 方法重写 41911.5 方法重写与重载 42011.6 Object类及其toString()方法 42211.7 多态 42311.8 动态绑定 42411.9 对象转换和instanceof运算符 42711.10 Object类的equals方法 43111.11 ArrayList类 43211.12 对于列表有用的方法 43811.13 示例学习:自定义栈类 43911.14 protected数据和方法 44011.15 防止扩展和重写 442第12章 异常处理和文本I/O 44912.1 引言 45012.2 异常处理概述 45012.3 异常类型 45512.4 关于异常处理的更多知识 45812.5 finally子句 46612.6 何时使用异常 46712.7 重新抛出异常 46812.8 链式异常 46912.9 创建自定义异常类 47012.10 File类 47312.11 文件输入和输出 47612.12 从Web上读取数据 48212.13 示例学习:Web爬虫 484第13章 抽象类和接口 49513.1 引言 49613.2 抽象类 49613.3 示例学习:抽象的Number类 50113.4 示例学习:Calendar和GregorianCalendar 50313.5 接口 50613.6 Comparable接口 50913.7 Cloneable接口 51313.8 接口与抽象类 51713.9 示例学习:Rational类 52013.10 类的设计原则 525第14章 JavaFX基础 53514.1 引言 53614.2 JavaFX与Swing以及AWT的比较 53614.3 JavaFX程序的基本结构 53614.4 面板、UI组件以及形状 53914.5 属性绑定 54214.6 节点的通用属性和方法 54514.7 Color类 54614.8 Font类 54714.9 Image和ImageView类 54914.10 布局面板 55214.11 形状 56014.12 示例学习:ClockPane类 572第15章 事件驱动编程和动画 58515.1 引言 58615.2 事件和事件源 58815.3 注册处理器和处理事件 58915.4 内部类 59315.5 匿名内部类处理器 59415.6 使用lambda表达式简化事件处理 59715.7 示例学习:贷款计算器 60015.8 鼠标事件 60215.9 键盘事件 60315.10 可观察对象的监听器 60615.11 动画 60815.12 示例学习:弹球 616第16章 JavaFX UI组件和多媒体 62916.1 引言 63016.2 Labeled和Label 63016.3 按钮 63216.4 复选框 63416.5 单选按钮 63716.6 文本域 63916.7 文本区域 64116.8 组合框 64416.9 列表视图 64716.10 滚动条 65116.11 滑动条 65416.12 示例学习:开发一个井字游戏 65716.13 视频和音频 66216.14 示例学习:国旗和国歌 665第17章 二进制 I/O 67717.1 引言 67817.2 在Java中如何处理文本I/O 67817.3 文本I/O与二进制I/O 67917.4 二进制I/O类 68017.5 示例学习:复制文件 69117.6 对象I/O 69217.7 随机访问文件 697第18章 递归 70518.1 引言 70618.2 示例学习:计算阶乘 70618.3 示例学习:计算斐波那契数 70918.4 使用递归解决问题 71218.5 递归辅助方法 71418.6 示例学习:得到目录的大小 71718.7 示例学习:汉诺塔 71918.8 示例学习:分形 72218.9 递归与迭代 72618.10 尾递归 727第19章 泛型 73719.1 引言 73819.2 动机和优点 73819.3 定义泛型类和接口 74019.4 泛型方法 74219.5 示例学习:对一个对象数组进行排序 74419.6 原始类型和向后兼容 74619.7 通配泛型 74719.8 消除泛型和对泛型的限制 75019.9 示例学习:泛型矩阵类 752第20章 线性表、栈、队列和优先队列 76120.1 引言 76220.2 合集 76220.3 迭代器 76620.4 线性表 76720.5 Comparator接口 77220.6 线性表和合集的静态方法 77320.7 示例学习:弹球 77720.8 向量类和栈类 78120.9 队列和优先队列 78320.10 示例学习:表达式求值 786第21章 集合和映射表 79721.1 引言 79821.2 集合 79821.3 比较集合和线性表的性能 80621.4 示例学习:统计关键字 80921.5 映射表 81021.6 示例学习:单词的出现次数 81521.7 单元素与不可变的合集和映射表 816第22章 开发高效算法 82122.1 引言 82222.2 使用大O符号来衡量算法效率 82222.3 示例:确定大O 82422.4 分析算法的时间复杂度 82822.5 使用动态编程计算斐波那契数 83122.6 使用欧几里得算法求*大公约数 83322.7 寻找素数的高效算法 83722.8 使用分而治之法寻找*近的点对 84322.9 使用回溯法解决八皇后问题 84622.10 计算几何:寻找凸包 849第23章 排序 86123.1 引言 86223.2 插入排序 86223.3 冒泡排序 86423.4 归并排序 86723.5 快速排序 87023.6 堆排序 87423.7 桶排序和基数排序 88123.8 外部排序 883第24章 实现线性表、栈、队列和优先队列 89524.1 引言 89624.2 线性表的通用特性 89624.3 数组线性表 90024.4 链表 90624.5 栈和队列 92024.6 优先队列

封面

Java 语言程序设计-(英文版.第10版)-(进阶篇)

书名:Java 语言程序设计-(英文版.第10版)-(进阶篇)

作者:梁勇

页数:1287

定价:¥99.0

出版社:机械工业出版社

出版日期:2017-07-01

ISBN:9787111571681

PDF电子书大小:110MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注