Java 7入门经典


Java 7入门经典

文章插图
Java 7入门经典【Java 7入门经典】无论学习Java是为了编写嵌入网页的定製applet,还是为了编写大型应用程式,本书都十分适合阅读 。本书是关于Java语言讲解最为细緻、全面的入门书籍,介绍了使用最新的Java JDK 7开发程式所需要的所有基础知识 。
基本介绍作者:(美) 霍尔顿(Horton, I.)
译者:梁峰
ISBN:9787302289593
页数:1124
定价:118.00元
出版社:清华大学出版社
出版时间:2012-7-1
原作名:Ivor Horton’s Beginning
内容介绍书中包含大量的示例,清晰地解释了涉及的关键概念,演示了Java开发的複杂细节 。在阅读各个章节的过程中,您还能获得无价的编程经验,并逐步开始编写功能全面的Java程式 。Ivor Horton在编写入门类编程图书方面独具心得,着作深受好评 。Java SE 7相对之前发布版本更新了超过30%的语言特性,本书从基础知识入门,介绍了使用这一最新发布版本编写Java程式的方方面面,涵盖了Java的所有语言新特性,可为读者打下坚实的基础 。作者介绍Ivor Horton是Java、C和C++程式语言方面的杰出作者,由他执笔的图书都非常有名,如《Visual C++ 2010入门经典(第5版)》、《C语言入门经典(第4版)》、《C++入门经典(第3版)》等 。他编写的图书十分适合初学者学习,讲解细腻、全面,示例丰富,深受读者好评 。Ivor Horton还是私人实践方面的系统顾问 。作品目录第1章 Java简介 11.1 Java概览 11.2 Java语言的特性 21.3 学习Java 21.3.1 Java程式 31.3.2 Java学习路线图 31.4 Java环境 41.5 Java中的面向对象编程 111.5.1 什幺是对象 121.5.2 如何定义对象类 131.5.3 对象操作 151.5.4 Java程式语句 171.5.5 封装 171.5.6 类与数据类型 181.5.7 类与子类 181.5.8 使用对象的优势 181.5.9 标记 181.5.10 泛型类 191.6 Java程式结构 191.6.1 Java的类库 191.6.2 Java应用程式 211.7 Java和Unicode 231.8 小结 241.9 资源 25第2章 程式、数据、变数和计算 272.1 数据和变数 272.1.1 变数的命名 282.1.2 变数名与Unicode 282.1.3 变数与类型 292.2 整数数据类型 292.3 浮点数数据类型 332.3.1 浮点数字面量 332.3.2 声明浮点型变数 342.4 固定变数的值 342.5 算术运算 352.5.1 整数计算 352.5.2 整数除法和余数 402.5.3 增量与减量运算符 402.5.4 短整数类型的计算 422.5.5 整数算术中的错误 432.5.6 浮点计算 432.5.7 其他浮点算术运算符 442.5.8 浮点算术中的错误情况 442.5.9 混合算术表达式 452.5.10 显式转换 452.5.11 赋值中的自动类型转换 462.6 op=运算符 462.7 数学函式和常量 472.8 存储字元 512.8.1 字元转义序列 512.8.2 字元算术 522.9 位运算 542.9.1 使用AND和OR运算符 552.9.2 使用异或运算符 582.9.3 位移操作 592.9.4 位操作方法 622.10 取值範围为固定整数值集合的变数 642.11 布尔变数 662.12 运算符的优先权 672.13 程式注释 682.14 小结 70第3章 循环与逻辑 733.1 决策 733.1.1 比较 743.1.2 if语句 743.1.3 嵌套的if语句 783.1.4 比较枚举值 813.2 逻辑运算符 813.2.1 逻辑与操作 823.2.2 逻辑或操作 843.2.3 异或操作 843.2.4 布尔非操作 843.2.5 使用标準库方法测试字元 853.3 条件运算符 863.4 switch语句 883.5 变数的作用域 943.6 循环 963.6.1 循环的种类 973.6.2 使用浮点值计数 1033.6.3 嵌套循环 1033.6.4 continue语句 1053.6.5 带标籤的continue语句 1053.6.6 在循环中使用break语句 1073.7 断言 1123.8 小结 114第4章 数组与字元串 1174.1 数组 1174.1.1 数组变数 1184.1.2 定义数组 1184.1.3 数组长度 1194.1.4 访问数组元素 1194.1.5 重用数组变数 1194.1.6 初始化数组 1204.1.7 使用数组 1234.1.8 二维数组 1264.1.9 字元数组 1304.2 字元串 1314.2.1 字元串字面量 1314.2.2 创建String对象 1324.2.3 字元串数组 1344.3 字元串操作 1354.3.1 连线字元串 1354.3.2 比较字元串 1394.3.3 字元串排序 1444.3.4 访问字元串中的字元 1464.3.5 在字元串中查找字元 1484.3.6 查找子字元串 1494.3.7 提取子字元串 1524.3.8 String对象的修改版本 1564.3.9 从String对象创建字元数组 1574.3.10 使用字元串执行基于集合的for循环 1574.3.11 在字元串中获取位元组数组形式的字元 1584.3.12 从字元数组中创建String对象 1584.4 可变字元串 1594.4.1 创建StringBuffer对象 1604.4.2 StringBuffer对象的容量 1604.4.3 为StringBuffer对象修改字符串的长度 1624.4.4 增长StringBuffer对象 1624.4.5 寻找子字元串的位置 1644.4.6 替换缓冲区中的子字元串 1654.4.7 插入字元串 1654.4.8 从可变字元串中提取字元 1664.4.9 可变字元串的其他操作 1674.4.10 从StringBuffer对象创建String对象 1674.5 小结 169第5章 定义类 1735.1 类的定义 1735.1.1 类定义中的域 1745.1.2 类定义中的方法 1755.1.3 访问变数和方法 1765.1.4 Final域 1775.2 定义类 1775.3 定义方法 1785.3.1 方法的返回值 1795.3.2 参数列表 1795.3.3 定义类方法 1815.3.4 访问方法中的类数据成员 1825.3.5 变数this 1825.3.6 初始化数据成员 1835.4 构造函式 1865.4.1 默认构造函式 1875.4.2 创建类的对象 1885.5 定义和使用类 1905.6 方法重载 1925.6.1 多个构造函式 1935.6.2 使用构造函式複製对象 1965.7 使用对象 1965.8 递归 2025.9 理解包 2045.9.1 对类打包 2045.9.2 将类从包添加到程式中 2075.9.3 程式中的包和名称 2085.9.4 导入静态类成员 2085.9.5 标準包 2095.10 类成员的访问控制 2125.10.1 使用访问属性 2125.10.2 设定访问属性 2145.10.3 选择访问属性 2155.11 嵌套类 2205.11.1 静态嵌套类 2215.11.2 使用非静态嵌套类 2255.11.3 使用非顶级类的嵌套类 2275.11.4 本地嵌套类 2285.12 小结 228第6章 扩展类与继承 2316.1 使用已有的类 2316.2 类继承 2336.2.1 继承数据成员 2336.2.2 继承方法 2346.2.3 覆盖基类方法 2376.3 @Override标记 2396.4 选择基类访问属性 2396.5 多态 2406.6 多级继承 2466.7 抽象类 2466.8 通用超类 2476.8.1 toString()方法 2496.8.2 判定对象的类型 2496.8.3 複製对象 2506.9 接受可变数目参数的方法 2556.10 转换对象 2566.10.1 转换对象的时机 2586.10.2 识别对象 2596.11 枚举进阶 2606.12 设计类 2646.13 使用final修饰符 2746.14 接口 2756.14.1 在程式中封装常量 2756.14.2 用接口声明方法 2786.14.3 扩展接口 2816.14.4 使用接口 2826.14.5 将接口类型作为方法的参数使用 2886.14.6 在接口定义中嵌套类 2896.14.7 接口与真实环境 2896.15 匿名类 2896.16 小结 290第7章 异常 2937.1 异常的基本思想 2937.2 异常类型 2947.2.1 Error类型的异常 2957.2.2 RuntimeException类型的异常 2957.2.3 Exception类的其他子类 2957.3 处理异常 2957.3.1 设定方法能够抛出的异常 2967.3.2 处理异常 2967.3.3 try代码块 2967.3.4 catch代码块 2977.3.5 在一个代码块中捕获多种异常类型 3017.3.6 finally代码块 3017.3.7 构造方法 3027.3.8 执行顺序 3037.3.9 嵌套的try代码块 3097.3.10 重新抛出异常 3097.4 异常对象 3107.4.1 Throwable类 3107.4.2 标準异常 3137.5 定义自己的异常 3137.5.1 定义异常类 3137.5.2 抛出自己的异常 3157.5.3 异常的抛出策略 3157.6 小结 320第8章 理解流 3238.1 流与输入输出操作 3238.2 流的概念 3248.2.1 输入流与输出流 3248.2.2 二进制流与字元流 3258.3 输入输出类 3268.3.1 基本的输入流操作 3278.3.2 缓冲输入流 3278.3.3 基本的输出流操作 3288.3.4 流读取器和编写器 3298.4 标準流 3328.4.1 从键盘读入数据 3338.4.2 写到命令行中 3408.4.3 printf()方法 3408.4.4 将数据格式化为字元串 3458.5 小结 346第9章 访问档案与目录 3499.1 访问档案系统 3499.2 使用Path对象 3519.2.1 访问系统属性 3539.2.2 设定系统属性 3559.2.3 测试和检查Path对象 3559.2.4 查询档案和目录 3569.2.5 获取档案属性 3579.2.6 其他的路径操作 3609.3 创建与删除目录和档案 3619.3.1 创建目录 3619.3.2 创建档案 3639.3.3 删除档案和目录 3649.4 获取目录内容 3659.5 关闭流 3669.6 移动与複製档案和目录 3689.6.1 对档案或目录重命名 3699.6.2 複製档案和目录 3709.6.3 遍历档案树 3759.7 小结 378第10章 写档案 38110.1 档案I/O基础 38110.2 档案输出 38210.3 通过输出流写档案 38310.4 使用Writer写档案 38610.5 缓冲区 38910.5.1 缓冲区的容量 38910.5.2 缓冲区的位置和限制 39010.5.3 设定位置和限制 39110.5.4 创建缓冲区 39210.5.5 标记缓冲区 39610.5.6 缓冲区数据传输 39710.5.7 使用视图缓冲区 39910.5.8 準备缓冲区以输出到档案中 40010.6 使用通道写档案 40110.6.1 通道接口 40210.6.2 通道操作 40310.6.3 为档案获取通道 40310.6.4 通道写操作 40410.7 档案写操作 40610.7.1 将缓冲区的一部分写入到档案中 40610.7.2 档案的位置 40910.7.3 使用视图缓冲区载入字节缓冲区 41010.7.4 将变长字元串写入到档案中 41010.7.5 直接和间接缓冲区 41610.7.6 使用通道写入数值数据 41710.7.7 将混合数据写入到档案中 42110.7.8 从多个缓冲区写入 42710.8 强制将数据写入到设备中 43010.9 小结 431第11章 读档案 43311.1 档案读取操作 43311.1.1 使用输入流读取档案 43411.1.2 使用缓冲读取器读取档案 43711.2 使用通道读取档案 43911.2.1 读取文本档案 44111.2.2 从缓冲区获取数据 44211.2.3 读取二进制数据 44411.2.4 读取混合数据 44611.2.5 压缩缓冲区 44911.3 複製档案 45211.4 随机访问档案 45511.5 记忆体映射档案 46011.5.1 锁住档案 46311.5.2 锁住档案的特定部分 46511.5.3 实用的档案加锁考量 46511.6 小结 468第12章 序列化对象 47112.1 在档案中存储对象 47112.2 将对象写入到档案中 47212.2.1 将基本类型数据写入到对象流中 47412.2.2 实现Serializable接口 47512.3 从档案读取对象 47812.3.1 判定反序列化对象所属的类 48112.3.2 使用对象序列化 48212.3.3 手动序列化类 48512.3.4 序列化问题和困难 48612.4 小结 488第13章 泛型 49113.1 什幺是泛型 49113.2 定义泛型类 49213.2.1 实现泛型类 49313.2.2 实例化泛型类 49513.2.3 泛型类实例在运行时的类型 50013.2.4 泛型类实例之间的关係 50213.2.5 多个类型参数 50213.2.6 类型参数的作用域 50313.2.7 泛型类的静态域 50413.2.8 类型参数的边界 50413.3 泛型类和泛型接口 50813.3.1 实现针对容器类的基于集合的循环 50813.3.2 实现叠代器的功能 51013.3.3 二叉树的参数化类型 51213.4 原生类型的变数 52313.5 使用通配符类型参数 52413.5.1 针对通配符的约束 52613.5.2 深入Class类 52913.6 数组与参数化类型 53013.7 参数化方法 53313.8 参数化类型及继承 53913.9 总结 540第14章 集合框架 54314.1 理解集合框架 54314.2 对象集合 54414.2.1 集 54414.2.2 序列 54514.2.3 地图 54614.3 叠代器 54714.4 集合类 54914.5 使用EnumSet 55214.6 数组集合类 55414.6.1 创建矢量 55414.6.2 存储对象 55714.6.3 检索对象 55814.6.4 移除对象 56014.6.5 搜寻对象 56114.6.6 套用矢量 56214.6.8 对集合中的元素进行排序 56614.6.9 堆叠存储器 56714.7 鍊表 57314.8 使用地图 57514.8.1 散列过程 57514.8.2 把自己的类用作键 57614.8.3 创建HashMap容器 57714.8.4 存储、检索和移除对象 57814.8.5 处理地图中的所有元素 57914.9 小结 58914.10 练习 589第15章一组有用的类 59115.1 数组的实用方法 59115.1.1 填充数组 59115.1.2 複製数组 59315.1.3 比较数组 59315.1.4 数组的排序 59415.1.5 搜寻数组 59815.1.6 将数组的内容用作字元串 60015.2 Observable和Observer对象 60115.2.1 定义Observable对象的类 60215.2.2 Observable类的方法 60215.3 生成随机数 60515.4 日期和时间 60815.4.1 Date类 60815.4.2 解释Date对象 60915.4.3 公曆 61215.5 正则表达式 61815.6 使用Scanner对象 63715.6.1 创建Scanner对象 63715.6.2 从Scanner对象获取输入 63815.6.3 测试标记 64015.6.4 为标记定义自己的模式 64115.7 小结 64215.8 练习 642第16章 执行绪 64516.1 理解执行绪 64516.1.1 创建执行绪 64716.1.2 停止执行绪 65216.1.3 连线执行绪 65316.1.4 执行绪的调度 65416.1.5 实现Runnable接口 65416.2 管理执行绪 65616.2.1 同步 65716.2.2 死锁 67216.3 使用执行器 67416.3.1 使用执行器 67416.3.2 执行Callable<V>任务 67516.3.3 Future<V>对象方法 67516.3.4 关闭执行绪池 67616.4 执行绪优先权 68516.5 小结 68716.6 练习 687第17章 创建视窗 68917.1 Java中的图形用户界面 68917.2 创建视窗 69117.2.1 设计视窗 69217.2.2 在GUI代码中禁止死锁 69217.3 组件和容器 69617.3.1 Window和Frame组件 69717.3.2 Window面板 69817.4 组件的基础知识 69917.4.1 组件的属性 69917.4.2 组件的大小和位置 70017.4.2 点和矩形 70317.4.3 组件的可视化特性 70617.4.4 Swing 组件 71417.5 使用Swing容器 71617.6 容器的布局管理器 71817.6.1 流布局管理器 71917.6.2 使用边界布局管理器 72417.6.3 使用卡片布局管理器 72617.6.4 使用格线布局管理器 72817.6.5 使用BoxLayout管理器 73017.6.7 使用GridBagLayout管理器 73617.6.8 使用SpringLayout管理器 74317.7 向视窗中添加选单 75017.7.1 创建JMenu和JmenuItem对象 75017.7.2 创建选单 75117.7.3 为选单添加选单项 75317.7.4 添加选单快捷键和加速器 75717.8 小结 75917.9 练习 759第18章 处理事件 76118.1 互动式Java程式 76118.2 事件处理过程 76318.3 事件类 76418.3.1 低级事件类 76418.3.2 使视窗处理自己的事件 76618.3.3 允许其他低级事件 76818.3.4 低级事件监听器 76918.3.5 使用适配器类 77418.3.6 语义事件 77618.3.7 语义事件监听器 77618.4 applet中语义事件的处理 77718.4.1 其他事件处理方式 78518.4.2 处理低级事件和语义事件 78718.5 应用程式中的语义事件监听器 78818.6 使用动作 79418.6.1 Action接口 79418.6.2 Action方法 79518.6.3 把动作用作选单项 79618.6.4 定义Action类 79718.7 添加工具列 80318.8 添加选单图示 81218.9 添加工具提示 81318.10 禁用动作 81518.11 小结 81518.12 练习 815第19章 在视窗中绘图 81719.1 使用模型/视图体系结构 81719.2 组件坐标系统 82119.3 在组件上绘图 82219.3.1 图形环境 82219.3.2 绘图过程 82519.3.3 渲染操作 82619.4 形状 82619.4.1 定义点的类 82619.4.2 直线和矩形 82719.4.3 圆弧和椭圆 83219.4.4 曲线 83519.4.5 複杂路径 84319.5 填充图形 84819.6 管理图形 85319.6.1 存储模型中的图形 85416.6.2 绘製图形 85619.7 用滑鼠绘图 85719.7.1 处理滑鼠事件 85719.8 定义自己的图形类 86419.8.1 定义直线 86519.8.2 定义矩形 86619.8.3 定义圆 86819.8.4 绘製曲线 87119.9 修改游标 87319.10 小结 87419.11 练习 874第20章 扩展GUI 87520.1 创建状态栏 87520.1.1 用于Sketcher的状态栏类 87620.1.2 更新面板 87820.2 使用对话框 88020.2.1 模态对话框和非模态对话框 88120.2.2 一个简单的模态对话框 88220.2.3 即时讯息对话框 88520.2.4 即时输入对话框 88720.3 使用对话框创建文本元素 88920.3.1 为文本定义选单项和工具列按钮 88920.3.2 定义文本类 89120.3.3 创建文本元素 89220.4 字型选择对话框 89520.4.1 FontDialog类 89620.4.2 创建字型对话框按钮 89620.4.3 添加数据面板 89820.4.4 实现字型列表 89920.4.5 显示所选的字型 90120.4.6 使用分隔面板 90220.4.7 使用微调按钮 90320.4.8 使用单选按钮来选择字型样式 90520.4.9 监听单选按钮 90620.5 弹出式选单 90820.5.1 显示弹出式选单 91020.5.2 实现上下文选单 91320.7 变换用户坐标系统 92120.8 选择自定义颜色 93720.8.1 使用快取的图像 93820.8.2 使用JColorChooser对话框 93820.8.3 添加自定义颜色GUI 93920.8.4 显示颜色选择对话框 94120.9 小结 94220.10 练习 943第21章 填充和列印文档 94521.1 串列化草图 94521.1.1 实现串列化 94621.1.2 串列化元素列表 94621.2 用来保存草图的基本架构 94621.2.1 指定档案名称 94621.2.1 验证草图的目录 94721.2.3 记录草图是否修改 94821.2.4 处理File选单事件 94921.3 使用档案选择器 95021.3.1 显示档案保存对话框 95021.3.2 显示档案打开对话框 95121.3.3 定製档案选择对话框 95121.4 实现档案操作 95321.4.1 创建定製的档案对话框 95421.4.2 实现保存操作 95521.4.3 实现Save As操作 95921.4.4 实现档案打开操作 96121.4.5 启动新草图 96321.4.6 禁止在关闭时丢失数据 96421. 5 在Java中列印 96621.5.1 创建和使用PrinterJob对象 96721.5.2 列印页面 97021.5.3 列印整个草图 97421.5.4 横向列印 97821.5.5 提高列印性能 98021.2.6 实现页面设定 98121.5.7 使用Java列印对话框 98421.5.8 多页面文档的列印 98721.5.9 使用Book对象进行列印 99521.5.10 列印Swing组件 99721.6 小结 99921.7 练习 1000第22章 Java和XML 100122.1 XML 100122.1.1 XML的作用 100222.1.2 在Java中处理XML 100222.2 XML文档结构 100222.2.1 结构良好的XML文档 100322.2.2 有效的XML文档 100422.2.3 XML文档中的元素 100422.2.4 元素的属性 100822.3 XML中的数据结构 101122.4 文档类型定义 101122.4.1 声明DTD 101222.4.2 定义DTD 101322.4.3 Sketcher的DTD 101922.5 结构良好的文档的规则 102322.6 XML名称空间 102422.6.1 名称空间声明 102422.6.2 XML名称空间和DTD 102622.7 XML 模式 102622.7.1 定义模式 102722.7.2 定义模式元素 102822.7.3 指定数据类型 102922.7.4 定义複杂元素的属性 102922.7.5 值的限制 103022.7.6 定义属性组 103122.7.7 指定一组元素选项 103122.8 Sketcher模式 103222.8.1 定义直线元素 103322.8.2 定义矩形元素类型 103522.8.3 定义圆元素类型 103522.8.4 定义曲线元素类型 103622.8.5 定义文本元素类型 103722.8.6 完整的Sketcher模式 103722.8.7 使用模式的文档 104122.9 用XML文档编程 104122.9.1 SAX 处理 104222.9.2 DOM 处理 104322.10 访问解析器 104322.11 使用SAX 104422.11.1 解析器的属性和特徵 104622.11.2 用SAX解析文档 104822.11.3 实现SAX处理程式 104922.11.4 处理其他解析事件 105822.11.5 解析模式实例文档 105922.12 小结 106422.13 练习 1064第23章 创建和修改XML文档 106723.1 文档对象模型 106723.2 设定DOM解析器的特徵 106923.3 解析文档 107023.4 导航Document对象树 107123.4.1 节点类型 107223.4.2 可忽略的空白和元素内容 107723.4.3 访问属性 107823.5 转换XML 108123.6 创建Document对象 108523.7 把草图存储为XML文档 108923.7.1 添加元素节点 109023.7.2 为完成的草图创建Document对象 109723.7.3 把草图保存为XML档案 109923.8 读取草图的XML表示 110323.8.1 从XML中创建基类对象 110323.8.2 从XML节点中创建元素 110523.8.3 处理Import XML事件 110923.8.4 读取XML档案 111023.8.5 创建模型 111123.9 小结 111423.10 练习 1114附录A 关键字 1117附录B 计算机的算术 1119