具体描述
《21天学通Java(第6版)》以之前的版本为基础,以循序渐进的方式介绍了Java编程语言知识,并提供了丰富的实例和大量的练习。与此同时,《21天学通Java(第6版)》还全面涵盖了Java 7这一新标准以及与Android开发相关的Java编程知识。通过本书的学习,读者将逐步了解、熟悉并精通Java编程语言。
《21天学通Java(第6版)》包括3周的课程,通过学习,读者将具备使用Java开发应用程序和Android应用的知识和技能。第1周介绍Java语言的基本知识,包括数据类型、变量、表达式、对象、数组、条件语句、循环、类、接口、包、异常、线程等;第2周介绍Java类库,包括链表、栈、散列映射和位组等数据结构以及Swing组件、布局管理器和Java Web Start等;第3周介绍高级主题,包括输入和输出、对象序列化、通过Internet进行通信、使用数据库、XML、Web服务、Android编程等内容。
《21天学通Java(第6版)》可作为初学者学习Java编程技术的教程,也可供已掌握其他语言的程序员学习Java时参考。
作者简介
Rogers Cadenhead是程序员兼作者,出版了二十多部编程和Web发布方面的著作,其中包括《Sams Teach Yourself Java 2 in 24 Hours》。他还是Drudge Retort等网站的发布人,这些网站每年的访问量超过2000万。他还维护着本书配套网站www.java21days.com及个人博客。
目录信息
第1章 Java基础
1.1 Java语言
1.1.1 Java的历史
1.1.2 Java概述
1.1.3 选择开发工具
1.2 面向对象编程
1.3 对象和类
1.4 属性和行为
1.4.1 属性
1.4.2 行为
1.4.3 创建类
1.4.4 运行程序
1.5 组织类和类行为
1.5.1 继承
1.5.2 创建类层次结构
1.5.3 使用继承
1.5.4 接口
1.5.6 包
1.6 总结
1.7 问与答
1.8 小测验
1.9 认证练习
1.10 练习
第2章 Java编程基础
2.1 语句和表达式
2.2 变量和数据类型
2.2.1 创建变量
2.2.2 给变量命名
2.2.3 变量类型
2.2.4 给变量赋值
2.2.5 常量
2.3 注释
2.4 字面量
2.4.1 数字字面量
2.4.2 布尔字面量
2.4.3 字符字面量
2.4.4 字符串字面量
2.5 表达式和运算符
2.5.1 算术运算符
2.5.2 再谈赋值
2.5.3 递增和递减运算符
2.5.4 比较运算符
2.5.5 逻辑运算符
2.5.6 运算符优先级
2.6 字符串运算
2.7 总结
2.8 问与答
2.9 小测验
2.10 认证练习
2.11 练习
第3章 对象
3.1 创建新对象
3.1.1 使用new
3.1.2 对象是如何创建的
3.1.3 内存管理
3.2 使用类变量和实例变量
3.2.1 获取值
3.2.2 设置值
3.2.3 类变量
3.3 调用方法
3.3.1 设置字符串的格式
3.3.2 嵌套方法调用
3.3.3 类方法
3.4 对象的引用
3.5 对象和基本数据类型的强制类型转换
3.5.1 强制转换基本类型
3.5.2 强制转换对象
3.5.3 基本类型和对象之间的转换
3.6 比较对象值和类
3.6.1 比较对象
3.6.2 判断对象所属的类
3.7 总结
3.8 问与答
3.9 小测验
3.10 认证练习
3.11 练习
第4章 数组、逻辑和循环
4.1 数组
4.1.1 声明数组变量
4.1.2 创建数组对象
4.1.3 访问数组元素
4.1.4 修改数组元素
4.1.5 多维数组
4.2 块语句
4.3 if条件语句
4.4 switch条件语句
4.5 三目运算符
4.6 for循环
4.7 while和do循环
4.7.1 while循环
4.7.2 do...while循环
4.8 跳出循环
4.9 总结
4.10 问与答
4.10 小测验
4.12 认证练习
4.13 练习
第5章 创建类和方法
5.1 定义类
5.2 创建实例变量和类变量
5.2.1 定义实例变量
5.2.2 类变量
5.3 创建方法
5.3.1 定义方法
5.3.2 关键字this
5.3.3 变量作用域和方法定义
5.3.4 将参数传递给方法
5.3.5 类方法
5.4 创建Java应用程序
5.5 Java应用程序和命令行参数
5.5.1 将参数传递给Java应用程序
5.5.2 在Java程序中处理参数
5.6 创建同名方法
5.7 构造函数
5.7.1 基本的构造函数
5.7.2 调用另一个构造函数
5.7.3 重载构造函数
5.8 覆盖方法
5.8.1 创建覆盖现有方法的方法
5.8.2 调用原来的方法
5.8.3 覆盖构造函数
5.9 总结
5.10 问与答
5.11 小测验
5.12 认证练习
5.14 练习
第6章 包、接口和其他类特性
6.1 限定符
6.2 静态变量和方法
6.3 Final类、方法和变量
6.3.1 变量
6.3.2 方法
6.3.3 类
6.4 抽象类和方法
6.5 包
6.5.1 import声明
6.5.2 类名冲突
6.6 创建自己的包
6.6.1 选择包名
6.6.2 创建文件夹结构
6.6.3 将类加入到包中
6.6.4 包和类访问控制
6.7 接口
6.7.1 单继承存在的问题
6.7.2 接口和类
6.7.3 实现和使用接口
6.7.4 实现多个接口
6.7.5 接口的其他用途
6.8 创建和扩展接口
6.8.1 新接口
6.8.2 接口中的方法
6.8.3 扩展接口
6.8.4 创建网上商店
6.9 内部类
6.10 总结
6.11 问与答
6.12 小测验
6.13 认证练习
6.14 练习
第7章 异常和线程
7.1 异常
7.2 管理异常
7.2.1 异常一致性检测
7.2.2 保护代码和捕获异常
7.2.3 finally子句
7.3 声明可能引发异常的方法
7.3.1 throws子句
7.3.2 应引发哪些异常
7.3.3 传递异常
7.3.4 throws和继承
7.4 创建并引发自己的异常
7.4.1 引发异常
7.4.2 创建自己的异常
7.4.3 结合使用throws、try和throw
7.5 何时使用和不使用异常
7.5.1 什么时候使用异常
7.5.2 什么时候不使用异常
7.5.3 糟糕的异常使用方式
7.6 线程
7.6.1 编写线程化程序
7.6.2 线程化应用程序
7.6.3 终止线程
7.7 总结
7.8 问与答
7.9 小测验
7.10 认证练习
7.11 练习
第2周课程 Java类库
第8章 数据结构
8.1 超越数组
8.2 Java数据结构
8.2.1 Iterator
8.2.2 位组
8.2.3 链表
8.2.4 遍历数据结构
8.2.5 堆栈
8.2.6 Map
8.2.7 散列映射
8.3 泛型
8.4 总结
8.5 问与答
8.6 小测验
8.7 认证练习
8.8 练习
第9章 使用Swing
9.1 创建应用程序
9.1.1 创建界面
9.1.2 开发框架
9.1.3 创建组件
9.1.4 将组件加入到容器中
9.2 使用组件
9.2.1 图标
9.2.2 标签
9.2.3 文本框
9.2.4 文本区域
9.2.5 可滚动窗格
9.2.6 复选框和单选按钮
9.2.7 组合框
9.2.8 列表
9.3 总结
9.4 问与答
9.5 小测验
9.6 认证练习
9.7 练习
第10章 创建Swing界面
10.1 Swing的特性
10.1.1 标准对话框
10.1.2 使用对话框
10.1.3 滑块
10.1.4 滚动窗格
10.1.5 工具栏
10.1.6 进度条
10.1.7 菜单
10.1.8 选项卡窗格
10.2 总结
10.3 问与答
10.4 小测验
10.5 认证练习
10.6 练习
第11章 在用户界面上排列组件
11.1 基本的界面布局
11.1.1 布置界面
11.1.2 顺序布局
11.1.3 方框布局
11.1.4 网格布局
11.1.5 边框布局
11.2 使用多个布局管理器
11.3 卡片布局
11.4 网格袋布局
11.4.1 设计网格
11.4.2 创建网格
11.4.3 单元格padding和insets
11.5 总结
11.6 问与答
11.7 小测验
11.8 认证练习
11.9 练习
第12章 响应用户输入
12.1 事件监听器
12.1.1 设置组件
12.1.2 事件处理方法
12.2 使用方法
12.2.1 行为事件
12.2.2 焦点事件
12.2.3 选项事件
12.2.4 键盘事件
12.2.5 鼠标事件
12.2.6 鼠标移动事件
12.2.7 窗口事件
12.2.8 使用适配器类
12.2.9 使用内部类
12.3 总结
12.4 问与答
12.5 小测验
12.6 认证练习
12.7 练习
第13章 创建Java2D图形
13.1 Graphics2D类
13.2 绘制文本
13.2.1 使用防锯齿改善字体和图形的质量
13.2.2 获取字体的信息
13.3 颜色
13.3.1 使用Color对象
13.3.2 检测和设置当前颜色
13.4 绘制直线和多边形
13.4.1 用户坐标空间和设备坐标空间
13.4.2 指定渲染属性
13.4.3 创建要绘制的对象
13.4.4 绘制对象
13.5 总结
13.6 问与答
13.7 小测验
13.8 认证练习
13.9 练习
第14章 开发Swing应用程序
14.1 Java Web Start
14.2 使用Java Web Start
14.2.1 创建JNLP文件
14.2.2 在服务器上支持Web Start
14.2.3 其他JNLP元素
14.3 使用SwingWorker改善性能
14.4 总结
14.5 问与答
14.6 小测验
14.7 认证练习
14.8 练习
第3周课程 Java编程
第15章 输入和输出
15.1 流简介
15.1.1 使用流
15.1.2 过滤流
15.1.3 处理异常
15.2 字节流
15.3 过滤流
15.4 字符流
15.4.1 读取文本文件
15.4.2 写文本文件
15.5 文件和路径
15.6 总结
15.7 问与答
15.8 小测验
15.9 认证练习
15.10 练习
第16章 序列化和查看对象
16.1 对象序列化
16.1.1 对象输出流
16.1.2 对象输入流
16.1.3 暂态变量
16.1.4 检查对象的序列化字段
16.2 使用反射检查类和方法
16.2.1 检查和创建类
16.2.2 处理类的各个部分
16.2.3 检查类
16.3 总结
16.4 问与答
16.5 小测验
16.6 认证练习
16.7 练习
第17章 通过Internet进行通信
17.1 Java联网技术
17.1.1 打开跨越网络的流
17.1.2 套接字
17.1.3 Socket服务器
17.1.4 设计服务器应用程序
17.1.5 测试服务器
17.2 java.nio包
17.2.1 缓冲区
17.2.2 字符集
17.2.3 通道
17.2.4 网络通道
17.3 总结
17.4 问与答
17.5 小测验
17.6 认证练习
17.7 练习
第18章 使用JDBC访问数据库
18.1 JDBC
18.1.1 数据库驱动程序
18.1.2 查看数据库
18.1.3 读取数据库记录
18.1.4 将记录写入数据库
18.1.5 遍历结果集
18.2 总结
18.3 问与答
18.4 小测验
18.5 认证练习
18.6 练习
第19章 读写RSS Feed
19.1 使用XML
19.2 设计XML语言
19.3 使用Java处理XML
19.4 使用XOM处理XML
19.4.1 创建XML文档
19.4.2 修改MXL文档
19.4.3 格式化XML文档
19.4.4 评估XOM
19.5 总结
19.6 问与答
19.7 小测验
19.8 认证练习
19.9 练习
第20章 XML Web服务
20.1 XML-RPC简介
20.2 使用XML-RPC进行通信
20.2.1 发送请求
20.2.2 响应请求
20.3 选择XML-RPC实现
20.4 使用XML-RPC Web服务
20.5 创建XML-RPC Web服务
20.6 总结
20.7 问与答
20.8 小测验
20.9 认证练习
20.10 练习
第21章 使用Java编写Android应用
21.1 Android的历史
21.2 编写Android应用
21.2.1 组织Android项目
21.2.2 创建程序
21.2.3 使用Android模拟器
21.2.4 创建调试配置
21.3 运行应用
21.4 设计Android应用
21.4.1 准备资源
21.4.2 配置清单文件
21.4.3 设计图形用户界面
21.4.4 编写代码
21.5 总结
21.6 问与答
21.7 小测验
21.8 认证练习
21.9 练习
附录
附录A 使用集成开发环境NetBeans
A.1 安装NetBeans
A.2 新建项目
A.3 新建Java类
A.4 运行应用程序
A.5 修复错误
附录B 配套网站
附录C 搭建Android开发环境
C.1 简介
C.2 安装Eclipse
C.3 安装Android SDK
C.4 安装Android插件
C.5 设置手机
附录D 使用Java开发包
D.1 选择Java开发工具
D.2 配置JDK
D.2.1 使用命令行界面
D.2.2 切换文件夹
D.2.3 在MS-DOS中创建文件夹
D.2.4 在MS-DOS中运行程序
D.2.5 修复配置错误
D.3 使用文本编辑器
D.4 创建示例程序
D.5 设置CLASSPATH变量
D.5.1 在Windows 98/Me中设置CLASSPATH
D.5.2 在Windows 7/NT/XP/2000/2003中设置CLASSPATH
附录E 使用Java开发包编程
E.1 JDK概览
E.2 Java虚拟机
E.3 编译器javac
E.4 浏览器appletviewer
E.5 文档工具javadoc
E.6 Java文件存档工具jar
E.7 调试器jdb
E.7.1 调试应用程序
E.7.2 调试小程序
E.7.3 高级调试命令
E.8 使用系统属性
附录F 测验题答案
· · · · · · (收起)
读后感
用户评价
总的来说,这本书给我的感觉就像是找到了一位耐心且知识渊博的私人导师。它的语言风格在需要严谨时一丝不苟,在需要鼓励时又充满热情。我特别欣赏它在讲解复杂概念时所采用的“类比法”,很多时候,一个恰到好处的生活化类比,能瞬间击穿抽象的技术壁垒。例如,它将“接口”比作“标准化的合同”,将“继承”比作“家族传承”,这些形象的比喻至今仍清晰地留存在我的脑海中。这本书的结构设计,特别是对“面向对象三大特性”的拆解与重组,处理得极其流畅,没有出现任何逻辑上的断层感。读完最后一章,我清晰地感觉到,我已经不再是那个对Java一无所知的人,而是具备了独立阅读官方文档和搭建小型应用的能力,这本书无疑成功地完成了它的承诺,提供了一条高效且扎实的学习路径。
这本《21天学通Java》的封面设计得非常吸引眼球,那种充满活力的橙色和深邃的蓝色搭配,立刻让人联想到科技与学习的热情。当我翻开第一页,首先注意到的是它的排版布局,逻辑清晰,章节划分得当,完全不像有些技术书籍那样堆砌概念,而是非常注重阅读体验。作者在开篇就用非常亲和的语言,描绘了Java在当前技术领域的重要性,成功地为我这个“小白”打下了一剂强心针,让我觉得接下来的学习之路并不会是枯燥的爬坡。尤其是它对Java虚拟机(JVM)的初步介绍,没有直接抛出复杂的术语,而是用了一个生动的比喻,瞬间让我对这个“幕后英雄”有了一个初步的感性认识。再者,书中的示例代码都精心挑选过,每一个都能紧密贴合当前讲解的知识点,绝不是那种为了凑篇幅而硬塞进去的“示例”,而是真正能帮助理解抽象概念的拐杖。整体而言,从视觉到内容组织的初步接触,这本书给我留下的印象是:专业、友好,并且目标明确——让你在短时间内掌握核心技能。
我必须指出,这本书的理论深度和广度在入门级别中算是相当出色的,但其最大的优势似乎在于它对“规范”的强调。在介绍完类和对象的创建后,作者立刻引入了Java的编码规范(Coding Conventions),并且在后续的代码示例中,无一例外地都严格遵循了这些规范。这对于一个初学者来说是极其宝贵的财富,因为良好的编程习惯一旦养成,未来转型到大型团队协作项目中会非常顺畅,可以省去很多“返工”的时间。此外,书中对异常处理机制(Exception Handling)的讲解,也比很多同类书籍更为详尽,它不仅仅教你如何用 `try-catch-finally`,更深入探讨了Checked Exception和Unchecked Exception的哲学区别,这让我开始思考代码的健壮性,而不仅仅是功能的实现。这种对软件工程基础的早期灌输,是这本书的隐藏加分项。
阅读这本书的过程中,我深切体会到作者在内容组织上的“循序渐进”的匠心。它没有直接跳入面向对象编程(OOP)那些让人望而生畏的特性,而是先花了大量的篇幅巩固了基础语法和数据结构的理解。特别值得称赞的是,它对“引用类型”的讲解,几乎是我读过所有Java入门书籍中最透彻的一个。作者没有仅仅停留在“变量指向内存地址”这种教科书式的描述,而是结合了实际的内存模型图示,甚至模拟了一个小型程序的执行过程,让我终于明白“值传递”和“引用传递”的微妙区别,这在后续学习集合框架时,简直是茅塞顿开的关键。另外,书中穿插的“常见陷阱”和“性能优化小贴士”,更是体现了作者深厚的实战经验,这些内容远超出了纯粹的语法教学范畴,更像是一位资深工程师在耳边进行的私房传授,让我避免了许多初学者常犯的低级错误。
对于一个习惯了碎片化学习的我来说,本书最大的亮点在于其“实战项目驱动”的学习模式。它并非只是罗列知识点,而是将学习内容融入到一个个小型但完整的项目中去。例如,在讲解完I/O流之后,立刻要求读者构建一个简单的日志文件读写工具,而不是让知识点孤立存在。这种“学以致用”的紧凑节奏,极大地增强了我的学习动力和成就感。更细致入微的是,每完成一个阶段的学习,书中都会提供一个自测清单,这个清单设计得非常巧妙,它不像传统的测试题那样考究死记硬背,而是更侧重于让你反思:“在这个场景下,我应该选择哪种数据结构?”或“如果要求并发处理,我的代码需要修改哪些部分?”这种引导式的思考,远比机械的刷题有效得多。我感觉自己不是在读一本静态的书籍,而是在进行一场结构化的编程训练。
2020-03-08当当购买 烂书,错漏很多,血的教训
2020-03-08当当购买 烂书,错漏很多,血的教训
2020-03-08当当购买 烂书,错漏很多,血的教训
差评!误人子弟
差评!误人子弟