沃新书屋 - Absolute Java中文版(第6版)
本书资料更新时间:2025-04-30 10:57:04

Absolute Java中文版(第6版)

Absolute Java中文版(第6版)精美图片

Absolute Java中文版(第6版)书籍详细信息


内容简介:

《Absolute Java中文版(第6版)(双色)》侧重于面向对象设计,通过浅显易懂的语言和代码,很好地平衡了完整实例和解释性讨论,并围绕着Java 语言的特性全面透彻地介绍诸多编程技术。《Absolute Java中文版(第6版)(双色)》全面介绍了Java 语言已经实现的封装、继承和多态性技术,并在介绍Swing GUI 的时候提及了事件驱动的编程,在介绍UML 和模式的同时进一步介绍了OOP。《Absolute Java中文版(第6版)(双色)》每节后都设计了相应的练习题,每章后都有针对本章内容的编程项目。本书不仅适合初学者使用,还可以作为使用Java 的后续计算机科学课程的参考书。

书籍目录:

第1章 入门知识 1 1.1 Java简介 2 Java语言的起源 ★ 2 对象和方法 3 小程序(applet)★ 4 一个Java应用程序示例 4 字节码和Java虚拟机 7 类装载器★ 9 编译一个Java程序或类 9 运行一个Java程序 9 小贴士:错误消息 10 1.2 表达式和赋值语句 11 标识符 11 变量 12 赋值语句 14 小贴士:初始化变量 15 更多赋值语句知识★ 16 赋值兼容性 17 常量 18 算数运算符和表达式 19 括号和优先级规则★ 20 整数和浮点数除法 22 陷阱:浮点数的舍入错误 22 陷阱:整数相除 23 类型转换 24 自增运算符和自减运算符 25 1.3 String类 27 字符串常量和变量 27 字符串连接 28 类 29 String类的方法 30 转义字符 34 字符串处理 35 Unicode字符集★ 36 1.4 程序风格 37 命名常量 37 Java拼写约定 39 注释 40 缩进 41 本章小结 41 自测题答案 42 编程项目 44 第2章 流程控制 47 2.1 屏幕输出 48 System.out.println 48 小贴士:编辑输出格式的不同方法 50 使用printf编辑输出格式 51 小贴士:用printf编辑金额格式 54 小贴士:遗留代码 55 使用NumberFormat编辑金额输出格式 ★ 56 导入包和类 58 DecimalFormat类 ★ 59 2.2 使用Scanner类进行控制台输入 62 Scanner类 63 陷阱:行终止符'n'的处理 67 空字符串 68 小贴士:输入提示 68 小贴士:输入反馈 68 示例:自助结账程序 70 其他输入分隔符 70 2.3 文件输入简介 72 用Scanner类进行文本文件输入 72 本章小结 75 自测题答案 75 编程项目 77 第3章 控制流 81 3.1 分支机制 82 if-else语句 82 省略else 83 复合语句 83 小贴士:放置花括号 84 嵌套语句 85 多分支if-else语句 86 示例:州所得税 86 switch语句 88 陷阱:忘记switch语句中的break 91 条件运算符 ★ 92 3.2 布尔表达式 92 简单布尔表达式 93 陷阱:用=代替== 93 陷阱:使用==比较字符串 94 字典顺序和字母顺序 95 建立布尔表达式 97 陷阱:不等式串 98 计算布尔表达式 98 小贴士:命名布尔boolean变量 101 短路求值与完整求值 101 优先级和结合规则 102 3.3 循环 107 while语句和do-while语句 108 算法和伪代码 110 示例:分数列表的平均分 112 for语句 113 for语句中的逗号 115 小贴士:重复N次循环 116 陷阱:for语句中多余的分号 116 陷阱:无限循环 117 嵌套循环 118 break语句和continue语句★ 120 exit语句 121 3.4 调试 122 循环bug 122 跟踪变量 122 常规调试技术 123 示例:调试一个输入验证循环 124 预防性编码 127 断言检查★ 127 3.5 生成随机数★ 129 Random对象 130 Math.random( )方法 131 本章小结 132 自测题答案 132 编程项目 136 第4章 类的定义 I 141 4.1 类的定义概述 142 实例变量和方法 145 方法续论 147 小贴士:任何方法都能用作void方法 150 局部变量 152 块 152 小贴士:在一个for语句中声明变量 153 原始类型参数 154 陷阱:术语“形参”和“实参”的使用 159 类参数的简单示例 160 this参数 160 返回布尔值的方法 162 方法equals和toString 164 递归方法 166 小贴士:对方法进行测试 167 4.2 信息的隐藏和封装 168 修饰符public和private 169 示例:另一个日期类 170 get和set方法 171 小贴士:一个类可以访问该类所有对象的私有成员 174 小贴士:set方法可以返回一个布尔值 175 前置条件和后置条件 176 4.3 重载 177 重载的规则 177 陷阱:重载与自动类型转换 180 陷阱:不能根据返回类型进行重载 182 4.4 构造函数 183 构造函数的定义 183 小贴士:你可以在构造函数中调用另一个方法 190 小贴士:构造函数带有一个this参数 190 小贴士:添加一个无参数构造函数 190 示例:日期类的最终版本 191 默认变量初始化 192 另一种初始化实例变量的方法 192 示例:一个宠物记录类 193 StringTokenizer类★ 196 本章小结 200 自测题答案 201 编程项目 204 第5章 类的定义 II 211 5.1 静态方法和静态变量 212 静态方法 212 陷阱:在静态方法中调用非静态方法 215 小贴士:你可以在任何类中放置main函数 215 静态变量 218 Math类 222 封装类 225 自动装箱和拆箱 226 封装类中的静态方法 227 陷阱:封装类没有无参数构造函数 229 5.2 引用和类参数 231 变量和内存 231 引用 232 类参数 237 陷阱:对类类型的变量使用=和== 240 常量null 241 陷阱:空指针异常 242 new运算符和匿名对象 242 示例:键盘输入的另一种方法★ 243 小贴士:使用静态导入★ 245 5.3 引用的使用和滥用 246 示例:Person类 246 陷阱:null可以作为方法的参数 251 拷贝构造函数 253 陷阱:隐私泄露 255 可变类和不可变类 258 小贴士:深拷贝vs.浅拷贝 259 小贴士:假设你的同事是恶意的 260 5.4 包和javadoc 260 包和import语句 261 java.lang包 262 包名和目录 262 陷阱:子类不是自动导入的 264 默认包 264 陷阱:不要在类路径中包含当前目录 264 编译时指定类路径★ 265 命名冲突★ 266 javadoc简介 ★ 266 为javadoc注释类★ 267 运行javadoc★ 268 本章小结 269 自测题答案 270 编程项目 273 第6章 数组 279 6.1 数组简介 280 数组的创建和访问 280 length实例变量 283 小贴士:在数组中使用for循环 284 陷阱:数组下标总是从0开始 285 陷阱:数组越界 285 数组的初始化 285 陷阱:字符数组不是字符串 287 6.2 数组和引用 287 数组是对象 288 陷阱:具有类基本类型的数组 289 数组参数 289 陷阱:在数组中使用=和== 291 main方法的参数★ 294 返回数组的方法 295 6.3 用数组进行编程 297 部分填充数组 297 示例:部分填充数组的类 300 小贴士:get方法不需要返回实例变量 303 “for-each”循环★ 303 参数个数可变的方法★ 306 示例:一个字符串处理示例★ 308 数组实例变量的隐私泄露 309 示例:对数组排序 312 枚举类型★ 315 小贴士:在switch语句中使用枚举类型★ 319 6.4 多维数组 321 多维数组的基础知识 321 使用length实例变量 323 参差数组★ 323 多维数组参数和返回值 324 示例:一个成绩册类 325 本章小结 330 自测题答案 330 编程项目 336 第7章 继承 343 7.1 继承的基础知识 344 派生类 344 重写方法的定义 352 修改重写方法的返回类型 353 修改重写方法的访问权限 354 陷阱:重写 vs. 重载 354 super构造函数 355 this构造函数 356 小贴士:派生类的对象有多个类型 357 陷阱:术语子类和超类 359 示例:增强的StringTokenizer类★ 359 7.2 封装和继承 362 陷阱:基类中私有变量的使用 362 陷阱:私有方法不能被有效地继承 364 受保护访问和包访问 364 陷阱:忘记默认包 366 陷阱:受保护访问的限制★ 366 7.3 使用继承编程 368 小贴士:静态变量是继承的 368 小贴士:“is a”vs. “has a” 369 访问重新定义的基类方法 369 陷阱:你不能使用多个super 370 Object类 371 定义equals的正确方式 371 小贴士:getClass vs. instanceof★ 373 本章小结 377 自测题答案 377 编程项目 380 第8章 多态与抽象类 385 8.1 多态 386 后期绑定 386 final修饰符 388 示例:销售记录 389 在toString中使用后期绑定 394 陷阱:静态方法不使用后期绑定 395 向下转型和向上转型 396 陷阱:向下转型 398 小贴士:检查向下转型是否是合法的 399 clone方法浅析 400 陷阱:有时clone方法的返回类型是对象 401 陷阱:拷贝构造函数的限制★ 402 8.2 抽象类 405 抽象类综述 405 陷阱:你无法创建抽象类的实例 408 小贴士:抽象类是一种类型 409 本章小结 410 自测题答案 410 编程项目 412 第9章 异常处理 415 9.1 异常处理基础知识 416 try-catch机制 417 用Scanner类进行异常处理 418 小贴士:异常控制的循环 419 抛出异常 421 示例:异常处理的“玩具”示例 422 异常类 426 标准包中的异常类 427 定义异常类 428 小贴士:保留getMessage 432 小贴士:异常类可以携带任何类型的消息 434 多个catch块 438 陷阱:先捕获更具体的异常 439 9.2 在方法中抛出异常 441 在方法中抛出异常概述 441 在throws从句中声明异常 443 捕获或声明规则的例外情况 445 派生类中的throws从句 447 何时使用异常 447 示例:检索高分 448 事件驱动编程★ 451 9.3 更多异常处理编程技术 452 陷阱:嵌套的try-catch块 452 finally块★ 452 重新抛出异常★ 454 AssertionError类★ 454 ArrayIndexOutOfBoundsException 454 本章小结 455 自测题答案 455 编程项目 459 第10章 文件I/O 463 10.1 文件I/O简介 464 流 464 文本文件和二进制文件 465 10.2 文本文件 466 写入文本文件 466 陷阱:try块是一个块 470 陷阱:覆盖输出文件 471 追加到文本文件末尾 471 小贴士:toString可以帮助文本文件的输出 472 从文本文件中读取 473 使用Scanner读取文本文件 473 用Scanner测试文本文件的结束 475 使用BufferedReader读取文本文件 480 小贴士:用BufferedReader读取数字 483 用BufferedReader测试文本文件的结束 484 路径名 485 嵌套的构造函数调用 486 System.in、System.out和System.err 487 10.3 File类 489 用File类编程 489 10.4 二进制文件★ 492 将简单数据写入二进制文件中 493 UTF和writeUTF 496 从二进制文件中读取简单数据 497 检查二进制文件的结束 501 陷阱:用错误的方式检查文件结束 502 对象的二进制I/O 503 Serializable接口 505 陷阱:将类类型混合在同一个文件中 506 二进制文件中的数组对象 506 10.5 随机存取二进制文件★ 508 读写同一个文件 508 陷阱:RandomAccessFile不需要从空文件开始 512 本章小结 512 自测题答案 513 编程项目 516 第11章 递归 521 11.1 递归void方法 522 示例:垂直显示的数字 523 跟踪递归调用 525 递归详解 527 陷阱:无限递归 528 递归的栈★ 530 陷阱:栈溢出★ 531 递归与迭代 531 11.2 返回值的递归方法 532 返回值的递归方法的一般形式 532 示例:另一个幂方法 532 11.3 递归思维 536 递归设计技巧 536 二分查找★ 537 二分查找的效率★ 542 示例:查找一个文件 543 本章小结 546 自测题答案 546 编程项目 550 第12章 UML和模式 555 12.1 UML 556 UML的历史 557 UML类图 557 类交互 557 继承图 558 UML的更多知识 559 12.2 模式 ★ 560 适配器模式★ 560 模型-视图-控制器模式★ 560 示例:排序模式 561 排序模式的限制 566 排序模式的效率★ 567 小贴士:语用学和模式 567 模式形式 567 本章小结 568 自测题答案 568 编程项目 570 第13章 接口和内部类 573 13.1 接口 574 接口概述 574 抽象类实现接口 576 派生接口 577 陷阱:接口语义不会被强制执行 578 Comparable接口 579 示例:使用Comparable接口 580 接口中的预定义常量 584 陷阱:不一致的接口 584 Serializable接口★ 587 Cloneable接口 587 13.2 内部类的简单使用 590 帮助类 590 小贴士:内部类和外部类可以访问彼此的私有成员 591 示例:一个银行账户类 591 内部类的.class文件 595 陷阱:内部类的其他用途 595 13.3 内部类的更多内容 595 静态内部类 595 公有内部类 596 小贴士:调用外部类的方法 598 嵌套内部类 599 内部类和继承 599 匿名类 600 小贴士:为什么要使用内部类 602 本章小结 602 自测题答案 603 编程项目 607 第14章 泛型和ArrayList类 611 14.1 ArrayList类 612 使用ArrayList类 613 小贴士:在ArrayList中添加元素的总结 617 ArrayList类中的方法 618 “for-each”循环 620 示例:高尔夫球成绩 623 小贴士:使用trimToSize节约内存 625 陷阱:clone方法会进行浅拷贝★ 625 Vector类 626 参数化的类和泛型 627 陷阱:非参数化的ArrayList和Vector类 627 14.2 泛型 627 泛型基础知识 627 陷阱:用-Xlint选项编译 629 示例:有序对的泛型类 629 陷阱:泛型构造函数名没有类型参数 632 陷阱:你不能用原始类型替换类型参数 633 陷阱:并不是在使用类型名称的任何地方都可以使用类型参数 633 陷阱:泛型类的实例化不可以是数组基本类型 633 小贴士:类定义中可以有多个类型参数 634 陷阱:泛型类不能是异常类 635 类型参数的限制 636 小贴士:泛型接口 638 泛型方法★ 638 泛型类的继承★ 639 本章小结 641 自测题答案 641 编程项目 643 第15章 链式数据结构 647 15.1 Java链表 649 示例:简单的链表类 649 使用链表 652 陷阱:隐私泄露 657 节点内部类 657 示例:泛型链表 660 陷阱:使用Node,而不是Node 664 链表的equals方法 664 15.2 拷贝构造函数和clone方法★ 665 简单的拷贝构造函数和clone方法★ 666 异常★ 666 陷阱:clone方法在Object中是受保护的★ 668 小贴士:使用类型参数限制可以得到更好的clone方法★ 669 示例:带有深拷贝clone方法的链表★ 672 小贴士:克隆是一种“全有或者全无”事件 674 15.3 迭代器 675 定义一个迭代器类 675 添加和删除节点 680 15.4 链表的变形 683 双向链表 683 栈数据结构 691 队列数据结构 693 运行时间和大O符号 695 链表的效率 699 15.5 链式哈希表 700 字符串的哈希函数 701 哈希表的效率 704 15.6 set 704 set的基本操作 705 使用链表的set的效率 709 15.7 树 710 树的性质 710 示例:一个二叉查找树类 ★ 712 二叉查找树的效率★ 716 本章小结 716 自测题答案 717 编程项目 722 第16章 集合、映射和迭代器 725 16.1 集合 726 通配符 727 集合框架 728 陷阱:可选操作 733 小贴士:处理所有这些异常 733 具体的集合类 734 ArrayList和Vector之间的区别 741 集合框架的非参数化版本★ 742 陷阱:省略 742 16.2 Map映射 742 具体的Map类 744 16.3 迭代器 748 迭代器的概念 748 Iterator接口 748 小贴士:for-each循环作为迭代器 750 列表迭代器 751 陷阱:next可以返回一个引用 753 小贴士:定义自己的迭代器类 754 本章小结 755 自测题答案 755 编程项目 756 第17章 Swing I 761 17.1 事件驱动编程 762 事件和监听器 763 17.2 按钮、事件和其他Swing基础知识 764 示例:一个简单的窗口 764 陷阱:忘记编写关闭窗口按钮的代码 768 按钮 769 动作监听器和动作事件 770 陷阱:修改actionPerformed的方法头 771 小贴士:结束一个Swing程序 772 示例:第一个Swing GUI的更好版本 772 标签 775 颜色 776 示例:一个带有标签和颜色的GUI 777 17.3 容器和布局管理器 779 边界布局管理器 779 流布局管理器 782 网格布局管理器 783 面板 786 示例:用面板创建3种颜色 787 Container类 790 小贴士:分别编写GUI的外观和动作 792 模型-视图-控制器模式★ 793 17.4 菜单和按钮 793 示例:一个带有菜单的GUI 794 菜单、菜单项和菜单栏 794 嵌套菜单★ 798 AbstractButton类 798 setActionCommand方法 801 监听器作为内部类★ 802 17.5 文本框和文本域 804 文本框和文本域概述 804 小贴士:给文本域添加标签 809 小贴士:输入和输出数字 810 一个Swing计算器 810 本章小结 815 自测题答案 815 编程项目 821 第18章 Swing II 823 18.1 窗口监听器 824 示例:一个窗口监听器内部类 825 dispose方法 828 陷阱:忘记调用setDefaultCloseOperation 829 WindowAdapter类 829 18.2 图标和滚动条 831 图标 831 滚动条 836 示例:可以改变可见性的组件 840 18.3 Graphics类 842 图形对象的坐标系统 842 paint方法和Graphics类 843 绘制椭圆 848 绘制弧线 848 圆角矩形★ 851 面板的paintComponent 851 动作绘制和repaint 852 更新GUI的更多细节★ 856 18.4 颜色 857 指定绘图颜色 857 定义颜色 858 陷阱:使用double定义颜色 859 JColorChooser对话框窗口 860 18.5 字体drawString方法 862 drawString方法 863 字体 864 本章小结 867 自测题答案 867 编程项目 871 第19章 Java永不落幕 875 19.1 多线程 876 示例:一个无响应的GUI 877 Thread.sleep 877 getGraphics方法 880 使用线程修复一个无响应的程序 881 示例:一个多线程程序 881 Thread类 881 Runnable接口★ 884 竞争条件和线程同步★ 886 19.2 流套接字网络 890 套接字 890 套接字和线程 893 URL类 894 19.3 JavaBeans 895 组件模式 895 JavaBeans模型 895 19.4 Java和数据库连接 896 关系数据库 896 Java DB和JDBC 897 SQL 898 19.5 用JSP进行Web编程 906 applet、servlet和JSP 906 Oracle GlassFish企业级服务器 908 HTML表单——通用网关接口 909 JSP声明、表达式、scriptlet和指令 911 19.6 浅谈Java 8中的函数式编程 918 19.7 浅谈JavaFX 924 本章小结 936 自测题答案 937 编程项目 938 第20章 applet和HTML1 附录A 关键字 941 附录B 优先级和结合性规则 943 附录C ASCII字符集 945 附录D printf的格式规范 947 附录E 类和接口总结 949 1 英文原版书的第20章是放在相关配套网站上的,本中文版与其保持一致,也放在www.broadview.com.cn/32866,读者可下载阅读。

作者简介:

Walter John Savitch(生于1943年2月21日)由于发现了复杂性类NL(非确定型对数空间)、以及定义NSPACE和DSPACE复杂性类之间关系的Savitch定理而被人熟知。他为建立复杂性类所做的工作有助于我们创建执行非确定性和概率推理的背景。他还在自然语言处理和数学语言学领域做了大量的工作。他一直专注于计算机计算,因为它在10年前就已经被应用到遗传学和生物学。除了在理论计算机科学上所做的工作,Savitch还编著了很多关于学习使用C/C++、Java、Ada、Pascal等语言进行编程的教科书。在Stephen Cook的指导下,Savitch在1969年获得了加州大学伯克利分校的数学博士学位。 从那时候开始他就一直是加州大学圣地亚哥分校(UCSD)的教授,现在他还是计算机科学专业的名誉教授。 译者简介 师蓉,译有《完美Java(第6版)》、《信息架构:超越Web设计(第4版)》《像富人一样思考》《故事场景摩天楼》《互联网领导思维》《断点:互联网进化启示录》《游戏编程权威指南》《Unity 3.x游戏开发实例》《iPhone应用用户体验设计实战与案例》《社交网站界面设计》等书。

其它内容:

暂无其它内容!


下载点评

  • 惊喜(408+)
  • 打包(532+)
  • 深刻(798+)
  • 无盗版(781+)
  • 加密(118+)
  • 物超所值(1597+)
  • 强推(496+)
  • 感动(301+)
  • 超预期(777+)
  • 精校(209+)
  • 自动(401+)
  • 无损(345+)
  • 目录完整(942+)
  • MOBI(893+)
  • 免密(131+)
  • 书籍多(171+)
  • 珍藏(777+)
  • 批注(437+)
  • 妙趣横生(285+)

下载评论

  • 用户1733440577: ( 2024-12-06 07:16:17 )

    音频版电子书下载流畅,支持PDF/TXT格式导出,操作便捷。

  • 用户1728883771: ( 2024-10-14 13:29:31 )

    无损的报告资源,双语设计提升阅读体验,推荐下载。

  • 用户1716201679: ( 2024-05-20 18:41:19 )

    作者观点独到,逻辑清晰,强烈推荐阅读!

  • 苍***如: ( 2024-06-25 12:29:27 )

    什么格式都有的呀。

  • 用户1736585566: ( 2025-01-11 16:52:46 )

    多格式版电子书下载无延迟,支持PDF/MOBI格式导出,推荐下载。


相关书评

暂时还没有人为这本书评论!