本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书[0名0]: | (正版特价)Java程序设计概念:对象先行(原书[0第0]8版)|231509 |
图书定价: | 119元 |
图书作者: | (美)凯·霍斯特曼(Cay Horstmann) |
出版社: | [1机1]械工业出版社 |
出版日期: | 2018-04-01 00:00:00 |
ISBN号: | 9787111593669E |
开本: | 16开 |
页数: | 0 |
版次: | 1-1 |
内容简介 |
这是一本关于Java和计算[1机1]编程的入门教材,书中重点关注基础[0知0]识,并强调如何有效地[0学0]习。本书共分三部分。[0第0]一部分([0第0]1~7章)是基础[0知0]识,[0首0]先简要介绍了计算[1机1]科[0学0]和Java编程,展示了如何管理预定义的类以及如何根据给定的规范定义类,之后讲解了基本数据类型、分支、循环和数组;[0第0]二部分([0第0]8~12章)讲解[mian]向对象设计,包括类的设计、继承和多态、接口、异常处理和基本文[亻牛]输入/输出,以及两个重要的案例研究;[0第0]三部分([0第0]13~15章)是在线内容,讲解了数据结构与算[0法0],具体包括递归、排序和查找、链表、集合、映[身寸]、栈和队列。 本书非常适合作为计算[1机1]科[0学0]家、工程师和其他[0学0]科[0学0]生的[0第0]一本编程教材。 |
目录 |
出版者的话 译者序 前言 [0学0]习辅助手段介绍 致谢 特色内容 [0第0]一部分 基础[0知0]识 [0第0]1章 引言 2 1.1 计算[1机1]程序 2 1.2 计算[1机1]剖析 3 计算与社[0会0]1.1 计算[1机1]无处不在 4 1.3 Java编程语言 5 1.4 熟悉你的编程环境 7 编程技巧1.1 备份副本 10 1.5 分析你的[0第0]一个程序 10 常见错误1.1 缺少分号 13 1.6 错误 14 常见错误1.2 单词拼写错误 15 1.7 解决问题:算[0法0]设计 15 1.7.1 算[0法0]概念 16 1.7.2 解决一个投资问题的算[0法0] 16 1.7.3 伪代码 17 1.7.4 从算[0法0]到程序 18 操作指南1.1 用伪代码描述算[0法0] 19 实用示例1.1 编写一个铺地板瓷砖的算[0法0] 21 [0第0]2章 使用对象 31 2.1 对象和类 31 2.1.1 使用对象 32 2.1.2 类 32 2.2 变量 33 2.2.1 变量声明 33 2.2.2 类型 35 2.2.3 [0名0] 35 2.2.4 注释 36 2.2.5 赋值 37 常见错误2.1 使用未声明或未初始化的变量 39 常见错误2.2 混淆变量声明和赋值语句 39 编程技巧2.1 选择描述性的变量[0名0] 39 2.3 调用方[0法0] 40 2.3.1 类的公共接口 40 2.3.2 方[0法0]参数 40 2.3.3 返回值 42 2.3.4 方[0法0]声明 43 编程技巧2.2 通过尝试来[0学0]习 44 2.4 构造对象 45 常见错误2.3 试图如调用方[0法0]一样调用构造函数 47 2.5 访问器和修改器方[0法0] 47 2.6 API文档 48 2.6.1 浏览API文档 49 2.6.2 包 50 编程技巧2.3 不要强记,使用在线帮助 51 2.7 实现一个测试程序 51 专题2.1 在交互环境中测试类 53 实用示例2.1 你活了多少天? 54 实用示例2.2 处理图片 54 2.8 对象引用 54 计算与社[0会0]2.1 计算[1机1]垄断 57 2.9 图形应用 57 2.9.1 帧窗口 58 2.9.2 在组[亻牛]上绘制 59 2.9.3 在帧窗口中显示组[亻牛] 61 2.10 椭圆、线、文本和颜色 62 2.10.1 椭圆和圆 63 2.10.2 线 63 2.10.3 绘制文本 64 2.10.4 颜色 64 [0第0]3章 实现类 78 3.1 实例变量和封装 78 3.1.1 实例变量 78 3.1.2 Counter类的方[0法0] 80 3.1.3 封装 80 3.2 指定类的公共接口 82 3.2.1 指定方[0法0] 82 3.2.2 指定构造函数 83 3.2.3 使用公共接口 85 3.2.4 为公共接口加注释 85 常见错误3.1 将构造函数声明为void 88 编程技巧3.1 javadoc工具 88 3.3 [扌是]供类实现 89 3.3.1 [扌是]供实例变量 89 3.3.2 [扌是]供构造函数 89 3.3.3 [扌是]供方[0法0] 91 常见错误3.2 忽略参数变量 93 操作指南3.1 实现一个类 94 实用示例3.1 建立一个简单的菜单 97 3.4 单元测试 98 计算与社[0会0]3.1 电子投票[1机1] 99 3.5 解决问题:跟踪对象 100 3.6 局部变量 102 常见错误3.3 在局部变量中重复实例变量 103 常见错误3.4 [扌是]供不必要的实例变量 104 常见错误3.5 忘记在构造函数中初始化对象引用 105 3.7 this引用 105 专题3.1 从一个构造函数调用另一个构造函数 108 3.8 图形类 108 操作指南3.2 绘制图形 112 [0第0]4章 基本数据类型 127 4.1 数字 127 4.1.1 数字类型 127 4.1.2 常量 129 专题4.1 [0大0]数 134 编程技巧4.1 不要使用魔[0法0]数 134 4.2 算术运算 135 4.2.1 算术操作符 135 4.2.2 自增和自减 135 4.2.3 整除和求余 135 4.2.4 幂和平方根 136 4.2.5 浮点数转换为整数 138 常见错误4.1 意外的整除 139 常见错误4.2 小括号不匹配 140 编程技巧4.2 表达式中的空格 140 Java 8说明4.1 避免负余数 140 专题4.2 结合赋值和算术运算 141 专题4.3 实例方[0法0]和静态方[0法0] 141 计算与社[0会0]4.1 奔腾处理器的浮点数bug 141 4.3 输入和输出 143 4.3.1 读取输入 143 4.3.2 格式化输出 144 操作指南4.1 完成计算 147 实用示例4.1 计算金字塔的体积和表[mian]积 150 4.4 解决问题:先手动完成 150 实用示例4.2 计算旅行时间 152 4.5 字符串 152 4.5.1 String类型 152 4.5.2 字符串连接 153 4.5.3 字符串输入 154 4.5.4 转义序列 154 4.5.5 字符串和字符 154 4.5.6 子串 155 编程技巧4.3 阅读异常报告 157 专题4.4 使用对话框[扌是]供输入和输出 158 计算与社[0会0]4.2 [0国0]际字母表和Unicode 158 [0第0]5章 判断 174 5.1 if语句 174 编程技巧5.1 [0大0]括号布局 177 编程技巧5.2 总是使用[0大0]括号 178 常见错误5.1 if条[亻牛]后有分号 178 编程技巧5.3 制表符 178 专题5.1 条[亻牛]操作符 179 编程技巧5.4 避免不同分支中重复 179 5.2 比较值 180 5.2.1 关系操作符 180 5.2.2 比较浮点数 181 5.2.3 比较字符串 182 5.2.4 比较对象 183 5.2.5 测试null 184 常见错误5.2 使用==比较字符串 185 操作指南5.1 实现一个if语句 186 实用示例5.1 抽取中间字符 188 计算与社[0会0]5.1 丹佛[1机1]场的行李处理系统 188 5.3 多个候选条[亻牛] 189 专题5.2 switch语句 192 5.4 嵌套分支 193 编程技巧5.5 手动跟踪 196 常见错误5.3 空悬else问题 197 专题5.3 块作用域 198 专题5.4 枚举类型 199 5.5 解决问题:流程图 200 5.6 解决问题:选择测试用例 202 编程技巧5.6 制订计划并为意料外的问题留出时间 204 专题5.5 记录日志 205 5.7 布尔变量和操作符 205 常见错误5.4 结合多个关系操作符 208 常见错误5.5 混淆&&和||条[亻牛] 209 专题5.6 布尔操作符的短路计算 209 专题5.7 德·摩根定律 210 5.8 应用:输入验证 211 计算与社[0会0]5.2 人工智能 213 [0第0]6章 循环 233 6.1 while循环 233 常见错误6.1 不要想“我们到了吗?” 239 常见错误6.2 无限循环 239 常见错误6.3 差一错误 240 6.2 解决问题:手动跟踪 241 计算与社[0会0]6.1 数字盗版 244 6.3 for循环 245 编程技巧6.1 按其预期用途使用for循环 250 编程技巧6.2 选择满足任务要求的循环边界 251 编程技巧6.3 统计迭代 251 专题6.1 for循环[0首0]部中声明的变量 252 6.4 do循环 253 编程技巧6.4 画出循环的流程图 254 6.5 应用:处理卫哨值 254 专题6.2 输入和输出重定向 257 专题6.3 “半循环”问题 258 专题6.4 break和continue语句 259 6.6 解决问题:故事板 260 6.7 常用循环算[0法0] 263 6.7.1 求和与平均值 263 6.7.2 匹配计数 263 6.7.3 找到[0第0]一个匹配 264 6.7.4 [扌是]示用户输入,直到找到匹配 265 6.7.5 [z1u1i][0大0]值和[z1u1i]小值 265 6.7.6 比较相邻值 265 操作指南6.1 写一个循环 267 实用示例6.1 信用卡处理 270 6.8 嵌套循环 270 实用示例6.2 处理图像中的像素 273 6.9 应用:随[1机1]数和仿真 273 6.9.1 生成随[1机1]数 273 6.9.2 蒙特卡罗方[0法0] 275 6.10 使用调试器 277 操作指南6.2 调试 279 实用示例6.3 示例调试[0会0]话 281 计算与社[0会0]6.2 [0第0]一个bug 281 [0第0]7章 数组和数组列表 303 7.1 数组 303 7.1.1 声明和使用数组 303 7.1.2 数组引用 306 7.1.3 利用方[0法0]使用数组 307 7.1.4 部分填充的数组 307 常见错误7.1 边界错误 309 常见错误7.2 未初始化和未填充的数组 309 编程技巧7.1 对相关数据项的序列使用数组 309 编程技巧7.2 将并行数组重组为对象数组 310 专题7.1 参数数目可变的方[0法0] 311 计算与社[0会0]7.1 计算[1机1]病毒 311 7.2 增强的for循环 312 7.3 常用数组算[0法0] 314 7.3.1 填充 314 7.3.2 求和与平均值 314 7.3.3 [z1u1i][0大0]值和[z1u1i]小值 314 7.3.4 元素分隔符 315 7.3.5 线性查找 315 7.3.6 删除一个元素 316 7.3.7 插入一个元素 316 7.3.8 交换元素 317 7.3.9 复制数组 318 7.3.10 读取输入 319 常见错误7.3 低估数据集的[0大0]小 322 专题7.2 利用Java库排序 322 7.4 解决问题:调整算[0法0] 323 操作指南7.1 处理数组 325 实用示例7.1 掷骰子 327 7.5 解决问题:通过管理实体对象发现算[0法0] 327 7.6 二维数组 330 7.6.1 声明二维数组 331 7.6.2 访问元素 332 7.6.3 定位相邻元素 333 7.6.4 访问行和列 333 实用示例7.2 世界人口表 336 专题7.3 行长度可变的二维数组 336 专题7.4 多维数组 337 7.7 数组列表 338 7.7.1 声明和使用数组列表 338 7.7.2对数组列表使用增强的for循环 340 7.7.3 复制数组列表 341 7.7.4 包装器和自动装箱 341 7.7.5 对数组列表使用数组算[0法0] 342 7.7.6 在数组列表中存储输入值 343 7.7.7 删除匹配元素 343 7.7.8 在数组列表和数组间选择 344 常见错误7.4 长度和[0大0]小 346 专题7.5 钻石语[0法0] 346 7.8 回归测试 346 编程技巧7.3 批文[亻牛]和Shell脚本 348 计算与社[0会0]7.2 Therac-25事[亻牛] 349 [0第0]二部分 [mian]向对象设计 [0第0]8章 设计类 372 8.1 发现类 372 8.2 设计[女子]方[0法0] 373 8.2.1 [扌是]供一个一致的公共接口 373 8.2.2 [z1u1i]小化依赖 374 8.2.3 区分访问器和修改器 375 8.2.4 [z1u1i]小化副作用 376 编程技巧8.1 一致性 377 专题8.1 按值调用和按引用调用 378 8.3 解决问题:对象数据模式 382 8.3.1 管理总数 382 8.3.2 统计事[亻牛] 382 8.3.3 收集值 383 8.3.4 管理对象的属性 384 8.3.5 为有不同状态的对象建模 384 8.3.6 描述对象的位置 385 8.4 静态变量和方[0法0] 386 编程技巧8.2 尽量减少使用静态方[0法0] 389 常见错误8.1 试图在静态方[0法0]中访问实例变量 389 专题8.2 初始化实例和静态变量的其他形式 390 专题8.3 静态导入 390 8.5解决问题:先解决比较简单的问题 391 8.6 包 395 8.6.1 将相关的类组织为包 395 8.6.2 导入包 396 8.6.3 包[0名0] 396 8.6.4 包和源文[亻牛] 397 常见错误8.2 混淆点号 398 专题8.4 包访问 398 操作指南8.1 使用包编程 399 8.7 单元测试框架 400 计算与社[0会0]8.1 个人计算 402 [0第0]9章 继承 416 9.1 继承层次体系 416 编程技巧9.1 单个类表示值的差异,继承表示行为的差异 419 9.2 实现子类 420 常见错误9.1 从[0超0]类复制实例变量 423 常见错误9.2 混淆[0超0]类和子类 424 9.3 覆盖方[0法0] 424 常见错误9.3 意外重载 428 常见错误9.4 调用[0超0]类方[0法0]时忘记使用super 429 专题9.1 调用[0超0]类构造函数 429 9.4 多态 430 专题9.2 动态方[0法0]查找和隐式参数 434 专题9.3 抽象类 434 专题9.4 [z1u1i]终方[0法0]和[z1u1i]终类 436 专题9.5 保护访问 436 操作指南9.1 开发一个继承层次体系 437 实用示例9.1 实现一个员工层次结构完成工资处理 442 9.5 Object:所有类的[0超0]类 442 9.5.1 覆盖toString方[0法0] 442 9.5.2 equals方[0法0] 443 9.5.3 instanceof操作符 444 常见错误9.5 不要使用类型测试 446 专题9.6 继承和toString方[0法0] 447 专题9.7 继承和equals方[0法0] 447 计算与社[0会0]9.1 谁在控制互联网? 448 [0第0]10章 接口 457 10.1 使用接口实现算[0法0]重用 457 10.1.1 发现接口类型 458 10.1.2 声明接口类型 458 10.1.3 实现接口类型 460 10.1.4 比较接口和继承 462 常见错误10.1 忘记将实现方[0法0]声明为公共方[0法0] 463 常见错误10.2 试图实例化一个接口 463 专题10.1 接口中的常量 464 Java 8说明10.1 接口中的静态方[0法0] 464 Java 8说明10.2 默认方[0法0] 464 Java 8说明10.3 冲突的默认方[0法0] 465 10.2 处理接口类型 466 10.2.1 从类转换为接口 466 10.2.2 在接口变量上调用方[0法0] 467 10.2.3 从接口强制转换为类 467 实用示例10.1 研究数字序列 468 10.3 Comparable接口 469 编程技巧10.1 比较整数和浮点数 470 专题10.2 clone方[0法0]和Cloneable接口 470 10.4 使用接口实现回调 473 Java 8说明10.4 lambda表达式 477 专题10.3 泛型接口类型 478 10.5 内部类 479 专题10.4 匿[0名0]类 480 10.6 模拟对象 481 10.7 事[亻牛]处理 482 10.7.1 监听事[亻牛] 483 10.7.2 使用内部类实现监听器 485 常见错误10.3 在实现方[0法0]中改变参数类型 488 常见错误10.4 试图调用监听器方[0法0] 488 Java 8说明10.5 lambda表达式实现事[亻牛]处理 488 10.8 用按钮构建应用 488 常见错误10.5 忘记关联监听器 491 编程技巧10.2 不要把容器用作监听器 492 10.9 处理计时器事[亻牛] 492 常见错误10.6 忘记重绘 495 10.10 鼠标事[亻牛] 495 专题10.5 键盘事[亻牛] 499 专题10.6 事[亻牛]适配器 499 计算与社[0会0]10.1 开源和免费软[亻牛] 500 [0第0]11章 输入/输出和异常处理 512 11.1 读写文本文[亻牛] 512 常见错误11.1 文[亻牛][0名0]中的反斜线 515 常见错误11.2 用String构造一个Scanner 515 专题11.1 读Web页[mian] 515 专题11.2 文[亻牛]对话框 516 专题11.3 字符编码 516 11.2 文本输入和输出 517 11.2.1 读取单词 517 11.2.2 读取字符 518 11.2.3 字符分类 518 11.2.4 读取文本行 519 11.2.5 扫描字符串 520 11.2.6 把字符串转换为数字 520 11.2.7 读数字时避免错误 521 11.2.8混合数字、单词和文本行输入 521 11.2.9 格式化输出 522 专题11.4 正则表达式 524 专题11.5 读取整个文[亻牛] 524 11.3 命令行参数 525 操作指南11.1 处理文本文[亻牛] 527 实用示例11.1 分析婴儿[0名0]字 530 计算与社[0会0]11.1 加密算[0法0] 531 11.4 异常处理 532 11.4.1 抛出异常 532 11.4.2 捕获异常 533 11.4.3 受查异常 535 11.4.4 关闭资源 536 11.4.5 设计你自己的异常类型 537 编程技巧11.1 早抛出,晚捕获 539 编程技巧11.2 不要压制异常 539 编程技巧11.3 要抛出特定的异常 540 专题11.6 断言 540 专题11.7 try/fin[0all0]y语句 541 11.5 应用:处理输入错误 541 计算与社[0会0]11.2 阿丽亚娜火箭事故 546 [0第0]12章 [mian]向对象设计 556 12.1 类及其职责 556 12.1.1 发现类 556 12.1.2 CRC卡方[0法0] 557 12.2 类之间的关系 558 12.2.1 依赖 558 12.2.2 聚合 559 12.2.3 继承 560 操作指南12.1 程序设计中使用CRC卡和UML图 561 专题12.1 UML图中的属性和方[0法0] 562 专题12.2 重数 563 专题12.3 聚合、关联和组合 563 12.3 应用:打印一个发货单 564 12.3.1 需求 564 12.3.2 CRC卡 565 12.3.3 UML图 567 12.3.4 方[0法0]文档 567 12.3.5 实现 569 计算与社[0会0]12.1 数据库和隐私 574 实用示例12.1 模拟一个自动柜员[1机1] 575 附录A Unicode基本拉丁语和拉丁语-1子集 581 附录B Java操作符小结 583 附录C Java保留字小结 585 附录D Java库 587 附录E Java语言编码指南 608 术语表 614 |