具体描述
本书通过大量示例程序循序渐进地引导读者快速掌握使用Java开发程序的基本技能。
本书总共24章,先讲解了Java程序的编写流程、工作原理等内容;然后介绍了有关Java编程的基本知识,包括变量、条件语句、循环语句、数组和对象等内容;随后介绍了创建图形用户界面、编写交互式Web程序、读写文件,以及使用字体、颜色和图形等相关的知识。《Java入门经典(第6版)》还介绍了如何使用Java来开发Android app。《Java入门经典(第6版)》每章都提供了示例程序清单,并辅以示例输出和代码分析,以阐述该章介绍的主题。为加深读者对所学内容的理解,每章末尾都提供了常见问题及其答案以及练习和测验。
本书可作为初学者学习Java编程技术的教程,也可供其他语言的程序员学习Java时参考。
作者简介
Rogers Cadenhead是一名作家、计算机程序员、Web开发人员,他已经编写了20多本与Internet相关的图书,其中包括Sams Teach Yourself Java in 21 Days。他维护着Drudge Retort和其他站点,这些站点的年访问量有2000万人次。本书的官方站点是www.java24hours.com。
目录信息
1.1 选择编程语言
1.2 告诉计算机做什么
1.3 程序的工作原理
1.4 为什么程序不能正常工作
1.5 选择一个Java编程工具
1.6 安装Java开发工具
1.7 总结
1.8 问与答
1.9 测验
1.9.1 问题
1.9.2 答案
1.10 练习
第2章 编写第一个程序
2.1 编写程序所需的工具
2.2 创建Saluton程序
2.3 开始输入程序
2.3.1 class语句
2.3.2 main语句的作用
2.3.3 大括号
2.4 在变量中存储信息
2.5 保存编写好的程序
2.6 将程序编译为class文件
2.7 修复错误
2.8 运行Java程序
2.9 总结
2.10 问与答
2.11 测验
2.11.1 问题
2.11.2 答案
2.12 练习
第3章 Java之旅
3.1 第一站:Oracle
3.2 去Java学校
3.3 在JavaWorld用午餐
3.4 在NASA仰望天穹
3.5 回归正题
3.6 到SourceForge去问路
3.7 在手机上运行Java
3.8 总结
3.9 问与答
3.10 测验
3.10.1 问题
3.10.2 答案
3.11 练习
第4章 理解Java程序是如何工作的
4.1 创建应用程序
4.2 向应用程序传递参数
4.3 Java类库
4.4 总结
4.5 问与答
4.6 测验
4.6.1 问题
4.6.2 答案
4.7 练习
第5章 在程序中存储和修改信息
5.1 语句和表达式
5.2 指定变量类型
5.2.1 整数和浮点数
5.2.2 字符和字符串
5.2.3 其他数值类型的变量
5.2.4 布尔变量
5.3 给变量命名
5.4 在变量中存储信息
5.5 运算符
5.5.1 变量的递增与递减
5.5.2 运算符优先级
5.6 使用表达式
5.7 总结
5.8 问与答
5.9 测验
5.9.1 问题
5.9.2 答案
5.10 练习
第6章 使用字符串来交流
6.1 在字符串中存储文本
6.2 在程序中显示字符串
6.3 在字符串中使用特殊字符
6.4 拼接字符串
6.5 将其他变量用于字符串中
6.6 字符串的高级处理
6.6.1 比较两个字符串
6.6.2 确定字符串的长度
6.6.3 改变字符串的大小写
6.6.4 查找字符串
6.7 导演及演员名单
6.8 总结
6.9 问与答
6.10 测验
6.10.1 问题
6.10.2 答案
6.11 练习
第7章 使用条件测试进行判断
7.1 if语句
7.1.1 小于和大于的比较
7.1.2 相等和不等
7.1.3 使用块语句组织程序
7.2 if-else语句
7.3 switch语句
7.4 三元运算符
7.5 观察时钟
7.6 总结
7.7 问与答
7.8 测验
7.8.1 问题
7.8.2 答案
7.9 练习
第8章 使用循环重复执行操作
8.1 for循环
8.2 while循环
8.3 do-while循环
8.4 退出循环
8.5 给循环命名
8.6 测试计算机的运行速度
8.7 总结
8.8 问与答
8.9 测验
8.9.1 问题
8.9.2 答案
8.10 练习
第9章 使用数组存储信息
9.1 创建数组
9.2 使用数组
9.3 多维数组
9.4 对数组进行排序
9.5 对字符串中的字符计数
9.6 总结
9.7 问与答
9.8 测验
9.8.1 问题
9.8.2 答案
9.9 练习
第10章 创建第一个对象
10.1 面向对象编程的工作原理
10.2 对象示例
10.3 什么是对象
10.4 理解继承
10.5 建立继承层次
10.6 转换对象和简单变量
10.6.1 简单变量的类型转换
10.6.2 对象类型转换
10.6.3 在简单变量和对象之间进行转换
10.6.4 自动封装和拆封
10.7 创建对象
10.8 总结
10.9 问与答
10.10 测验
10.10.1 问题
10.10.2 答案
10.11 练习
第11章 描述对象
11.1 创建变量
11.2 创建类变量
11.3 用方法来创建行为
11.3.1 声明方法
11.3.2 参数不同的类似方法
11.3.3 构造函数
11.3.4 类方法
11.3.5 方法中变量的作用域
11.4 将一个类放在另一个类中
11.5 使用关键字this
11.6 使用类方法和类变量
11.7 总结
11.8 问与答
11.9 测验
11.9.1 问题
11.9.2 答案
11.10 练习
第12章 充分利用现有对象
12.1 继承的威力
12.1.1 继承行为和属性
12.1.2 覆盖方法
12.2 建立继承
12.3 使用现有的对象
12.4 将相同类型的对象存储到数组列表中
12.5 创建子类
12.6 总结
12.7 问与答
12.8 测验
12.8.1 问题
12.8.2 答案
12.9 练习
第13章 创建简单的用户界面
13.1 Swing和抽象窗口工具包
13.2 使用组件
13.2.1 窗口和框架
13.2.2 按钮
13.2.3 标签和文本框
13.2.4 复选框
13.2.5 组合框
13.2.6 文本区域
13.2.7 面板
13.3 创建自己的组件
13.4 总结
13.5 问与答
13.6 测验
13.6.1 问题
13.6.2 答案
13.7 练习
第14章 用户界面的布局
14.1 使用布局管理器
14.1.1 GridLayout管理器
14.1.2 BorderLayout管理器
14.1.3 BoxLayout管理器
14.1.4 使用Insets将组件隔开
14.2 应用程序的界面布局
14.3 总结
14.4 问与答
14.5 测验
14.5.1 问题
14.5.2 答案
14.6 练习
第15章 响应用户输入
15.1 让程序监听
15.2 设置要监听的组件
15.3 处理用户事件
15.3.1 复选框和组合框事件
15.3.2 键盘事件
15.3.3 启用和禁用组件
15.4 完善图形应用程序
15.5 总结
15.6 问与答
15.7 测验
15.7.1 问题
15.7.2 答案
15.8 练习
第16章 创建复杂的用户界面
16.1 滑块
16.2 变更监听器
16.3 使用图像图标和工具栏
16.4 表
16.5 总结
16.6 问与答
16.7 测验
16.7.1 问题
16.7.2 答案
16.8 练习
第17章 在数据结构中存储对象
17.1 数组列表
17.2 哈希映射
17.3 总结
17.4 问与答
17.5 测验
17.5.1 问题
17.5.2 答案
17.6 练习
第18章 处理程序中的错误
18.1 异常
18.1.1 在try-catch块中捕获异常
18.1.2 捕获多种不同的异常
18.1.3 出现异常后进行处理
18.1.4 抛出异常
18.1.5 忽略异常
18.1.6 不需要捕获的异常
18.2 抛出和捕获异常
18.3 总结
18.4 问与答
18.5 测验
18.5.1 问题
18.5.2 答案
18.6 练习
第19章 创建线程程序
19.1 线程
19.1.1 降低程序的速度
19.1.2 创建线程
19.2 使用线程
19.2.1 声明类
19.2.2 创建变量
19.3 构造函数
19.4 在创建URL时捕获错误
19.5 启动线程
19.6 处理鼠标单击
19.7 循环显示链接
19.8 总结
19.9 问与答
19.10 测验
19.10.1 问题
19.10.2 答案
19.11 练习
第20章 使用内部类和闭包
20.1 内部类
20.2 闭包
20.3 总结
20.4 问与答
20.5 测验
20.5.1 问题
20.5.2 答案
20.6 练习
第21章 读写文件
21.1 流
21.1.1 文件
21.1.2 从流中读取数据
21.1.3 缓冲输入流
21.2 将数据写入流中
21.3 读写配置属性
21.4 总结
21.5 问与答
21.6 测验
21.6.1 问题
21.6.2 答案
21.7 练习
第22章 利用JAX-WS开发Web服务
22.1 定义服务端点接口
使用注解来简化Java代码
22.2 创建服务实现Bean
22.3 发布Web服务
22.4 使用Web服务描述语言文件
22.5 创建Web服务客户端
22.6 总结
22.7 问与答
22.8 测验
22.8.1 问题
22.8.2 答案
22.9 练习
第23章 创建Java2D图形
23.1 使用Font类
23.2 使用Color类
23.3 创建自定义颜色
23.4 绘制直线和形状
23.4.1 绘制直线
23.4.2 绘制矩形
23.4.3 绘制椭圆和圆
23.4.4 绘制弧线
23.5 绘制饼图
23.6 总结
23.7 问与答
23.8 测验
23.8.1 问题
23.8.2 答案
23.9 练习
第24章 编写Android app
24.1 Android简介
24.2 创建Android app
24.2.1 剖析一个Android新项目
24.2.2 创建app
24.2.3 安装Android模拟器
24.2.4 创建调试配置
24.3 运行app
24.4 设计真实的app
24.4.1 组织资源
24.4.2 配置app的Manifest文件
24.4.3 设计用户界面
24.4.4 编写Java代码
24.5 总结
24.6 问与答
24.7 测验
24.7.1 问题
24.7.2 答案
24.8 练习
附录A 使用NetBeans IDE
A.1 安装NetBeans
A.2 创建新项目
A.3 创建新的Java类
A.4 运行应用程序
A.5 修复错误
附录B Java资源
B.1 可以考虑的其他书
B.2 Oracle公司的Java官方站点
B.3 其他Java站点
B.3.1 本书英文版的配套网站
B.3.2 Workbench
B.3.3 Slashdot
B.3.4 其他Java博客
B.3.5 InformIT
B.3.6 Stack Overflow
B.3.7 JavaWorld杂志
B.3.8 Developer.com’s Java Directory
B.3.9 Twitter
附录C 本书站点
附录D 设置Android开发环境
D.1 起步
D.2 安装Eclipse
D.3 安装在Eclipse中使用的 Android插件
D.4 设置你的手机
· · · · · · (收起)
读后感
用户评价
这本书最大的魅力在于它为我们未来的进阶学习打下了极其坚实的基础,而且它传递的不仅仅是语法知识,更是一种严谨的工程态度。特别是它在讲解面向对象设计原则(如SOLID原则的初步体现)时,虽然篇幅不长,但点到了要害。作者用一些简单的类结构重构案例,演示了如何编写出高内聚、低耦合的代码,这对于一个初学者来说,是极其宝贵的早期思维训练。这本书对待错误处理的认真态度也让我印象深刻,它强调了“防御性编程”的思想,教会我们不仅要处理预期的错误,更要预料到那些意想不到的边界条件,并给出优雅的解决方案。在学习过程中,我发现书中所用的术语,如“封装”、“抽象”、“解耦”,都不是孤立存在的,而是紧密地联系在一起,共同服务于构建高质量软件的目标。我感觉这本书的作者是一位真正理解教学艺术的大师,他深知如何在一个复杂的技术领域中,搭建一座既稳固又美观的知识桥梁。这本书让我认识到,学习编程不仅仅是学会一门语言的规则,更是掌握一种解决问题的思维方式。它绝对是任何想认真学习Java的读者书架上不可或缺的一笔投资。
我对这本书的章节逻辑和内容的递进速度感到非常满意。它采取了一种“先宏观后微观”的策略,一开始建立起Java世界的整体框架,然后才逐步深入到每一个细节的实现上。例如,在介绍类和继承时,作者很早就引入了多态的概念,并用清晰的继承层级图来辅助说明,这避免了读者在后期学习到复杂概念时,因为缺乏基础的“全局观”而感到混乱。而那些关于Java虚拟机(JVM)的介绍部分,虽然是偏底层的知识,但作者的叙述方式充满了匠心,通过模拟内存的分配和释放过程,将抽象的概念具象化,让我对程序运行的底层机制有了全新的认识。这种循序渐进、环环相扣的讲解方式,极大地降低了学习曲线的陡峭程度。我曾经尝试过其他几本号称“快速入门”的书,结果学完之后仍然感觉自己是云里雾里,很多地方一知半解。但这本书不同,它要求你在理解每一个概念后才能进入下一阶段,确保了知识的“消化吸收率”。每次读完一个模块,都会有一种“原来如此”的豁然开朗感,这种学习体验是无可替代的,它建立了我对这门语言的扎实信心。
哇,终于找到了我梦寐以求的Java入门圣经!这本书简直是为像我这样的零基础小白量身定做的。书里对Java的基本概念讲解得深入浅出,完全没有那种高高在上的技术术语堆砌感。我记得刚开始看的时候,光是理解“面向对象”这个概念就让我头疼了好一阵子,但是这本书里通过很多生动的比喻和贴近生活的例子,让我茅塞顿开。特别是它对类和对象的阐述,简直是教科书级别的清晰。而且,书中的代码示例都是经过精心设计的,不仅能跑起来,而且结构清晰,注释详细到让人忍不住要跟着敲一遍。对于那些初学者最容易犯迷糊的内存管理和垃圾回收机制,作者也用非常直观的方式进行了剖析,让我不再惧怕那些底层原理。更让我惊喜的是,这本书不仅仅停留在基础语法上,还非常前瞻性地引入了一些现代Java开发中的常用范式,让我感觉自己学的不是过时的知识,而是紧跟时代步伐的真本事。这本书的排版和印刷质量也超级棒,长时间阅读眼睛也不会太累,这对于沉浸式学习来说太重要了。说实话,很多其他入门书读起来就像在啃冷面包,枯燥乏味,但这本书读起来像是在听一位经验丰富的老师傅耐心传授独门秘籍,让人心悦诚服,充满了继续探索编程世界的动力。这本书的结构安排极其合理,由浅入深,每章的知识点都有明确的递进关系,让人在不知不觉中就构建起了完整的知识体系,而不是零散的知识点堆积。
说真的,如果有人问我,从一个完全不懂编程的门外汉到能独立完成一些小工具,哪个是帮我跨过这道鸿沟的?我一定会毫不犹豫地推荐这本“宝典”。它最牛的地方在于,它没有把读者当成一个只会被动接受知识的容器,而是不断地用挑战性的思考题来激发我们的主动学习。我记得有一个关于文件I/O的章节,它没有直接给出标准答案,而是引导我们去思考如何设计一个可以自动恢复进度的下载器框架。这种“授人以渔”的教学思路,极大地锻炼了我的逻辑思维能力和问题拆解能力。再者,这本书对Java 8引入的Lambda表达式和Stream API的讲解,简直是点睛之笔。作者没有用晦涩难懂的函数式编程术语来吓唬人,而是将其融入到集合操作的优化中,让我们清晰地看到函数式编程带来的简洁和效率提升。这种与时俱进的内容更新,保证了这本书的生命力。当我尝试将书中学到的知识应用到我自己的小项目时,我发现自己不再需要频繁地在Stack Overflow上搜索基础问题的答案,因为这本书已经把路都铺平了,而且还给我指明了远方的风景。它不仅仅是一本教你写代码的书,更是一本教你如何像专业人士一样思考和组织代码的书籍。
这本书的实战性真的让我刮目相看。很多Java教程只教你“怎么做”,但这本书会告诉你“为什么这么做”以及“在什么场景下应该这样做”。我尤其欣赏它在讲解集合框架(Collections Framework)时的那种深度和广度。它没有简单地罗列`ArrayList`和`LinkedList`的区别,而是通过分析底层数据结构和实际性能测试,告诉我在处理海量数据时,应该如何根据具体需求权衡选择。书中涉及到的异常处理机制讲解得也极其到位,不再是那种模板化的`try-catch`包裹,而是深入到了Checked Exception和Unchecked Exception的哲学层面,这对于编写健壮的企业级应用至关重要。而且,作者在代码组织和项目结构设计上,也潜移默化地培养了我们良好的编程习惯。比如,在讲解多线程时,它不仅仅停留在`Thread`类的创建上,而是非常负责任地引入了并发包(`java.util.concurrent`)中的高级工具,如`ExecutorService`和`Future`,并清晰地阐述了线程安全问题的复杂性,这对于想要迈向中级开发的读者来说,绝对是及时的“清醒剂”。阅读过程中,我发现书中的每一个例子都像是经过了实战的打磨,没有丝毫的冗余,每一个API的调用都有其明确的上下文和目的性。这种注重实践和深层原理结合的写作风格,让这本书的价值远超一般的入门教材,它更像是一本可以伴随程序员成长多年的工具书。
这几天有把这本书过了一遍,唯一不好的地方是多线程章节开始以图形程序举例,感觉图形界面的编程风格太不一样,特别不适应,后面图形部分都跳过了。总得来说,这是一本不错的入门书。
这几天有把这本书过了一遍,唯一不好的地方是多线程章节开始以图形程序举例,感觉图形界面的编程风格太不一样,特别不适应,后面图形部分都跳过了。总得来说,这是一本不错的入门书。
之前读过 Sams 自学系列的 SQL 一书,印象非常好,也是这次尝试 Java 首选这本书的原因之一。哪里想到写得这么平庸,除了基础语法一无所获...
之前读过 Sams 自学系列的 SQL 一书,印象非常好,也是这次尝试 Java 首选这本书的原因之一。哪里想到写得这么平庸,除了基础语法一无所获...
之前读过 Sams 自学系列的 SQL 一书,印象非常好,也是这次尝试 Java 首选这本书的原因之一。哪里想到写得这么平庸,除了基础语法一无所获...