Java入门经典(第7版)
献辞
1 成为程序员
本章介绍如下内容:
1.1 选择编程语言
1.2 告诉计算机做什么
1.3 程序的工作原理
1.4 为什么程序不能正常工作
1.5 选择一个Java编程工具
1.6 安装Java开发工具
1.7 总结
1.8 问与答
问:BASIC、C++、Smalltalk、Java等语言的名字是什么意思?
问:为什么解释型语言的速度比编译型语言慢?
1.9 测验
1.10 练习
2 编写第一个程序
2.1 编写程序所需的工具
2.2 创建Saluton程序
2.3 开始输入程序
2.4 在变量中存储信息
2.5 保存编写好的程序
2.6 将程序编译为class文件
2.7 修复错误
2.8 运行Java程序
2.9 总结
2.10 问与答
问:在Java程序的每行中插入适当数量的空格有多重要?
问:Java程序被描述为一个类和一组类。哪种说法是正确的?
问:既然每条语句都必须以分号结尾,为何注释行“//My first Java program goes here”不需要以分号结尾?
问:我在编译器指出有错误的行中没有发现任何错误,我应该怎么办?
2.11 测验
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 问与答
问:为什么Java applet不再流行了?
问:Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)之间的区别是什么?Java EE需要花钱么?
3.10 测验
3.11 练习
4 理解Java程序是如何工作的
本章介绍如下内容:
4.1 创建应用程序
4.2 向应用程序传递参数
程序清单4.2 BlankFiller.java的完整代码
4.3 Java类库
程序清单4.3 Dice.java的完整版本
4.4 总结
4.5 问与答
问:发送给Java应用程序的所有参数都必须是字符串吗?
问:既然applet是在Web页面中运行,应用程序可以在任何地方运行,那么Java Web Start启动的Java程序是什么呢?
4.6 测验
4.7 练习
5 在程序中存储和修改信息
本章介绍如下内容:
5.1 语句和表达式
5.2 指定变量类型
5.3 给变量命名
5.4 在变量中存储信息
5.5 运算符
5.6 使用表达式
5.7 总结
5.8 问与答
问:在Java程序中,一行和一条语句是一回事吗?
问:为什么变量名的首字母要小写,如gameOver?
问:我可以在Java程序中将二进制值赋值给整型变量么?
5.9 测验
5.10 练习
6 使用字符串来交流
6.1 在字符串中存储文本
6.2 在程序中显示字符串
6.3 在字符串中使用特殊字符
6.4 拼接字符串
6.5 将其他变量用于字符串中
6.6 字符串的高级处理
6.7 导演及演员名单
6.8 总结
6.9 问与答
问:如何将字符串变量的值设置为空?
问:使用 toUpperCase() 方法好像不能将字符串中的字母全部转换为大写,我哪里操作不正确?
问:在 Java 中,就字符串而言,所有方法都像 equals() 那样返回 true 或 false 吗?
6.10 测验
6.11 练习
7
本章介绍如下内容:
7.1 if语句
7.2 if-else语句
7.3 switch语句
7.4 三元运算符
7.5 观察时钟
7.6 总结
7.7 问与答
问:if语句好像是最有用的语句之一,有没有这种可能:在程序中只使用if语句,而不用使用其他语句?
问:在本章中,将 if 语句同一条语句结合使用时,没有使用左大括号和右大括号。不是必须使用这对大括号吗?
问:是不是在每条case语句后面的语句部分都必须使用break语句?
7.8 测验
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.10 练习
9 使用数组存储信息
本章介绍如下内容:
9.1 创建数组
9.2 使用数组
9.3 多维数组
9.4 对数组进行排序
9.5 对字符串中的字符计数
9.6 总结
9.7 问与答
问:字母的数值范围65(‘A’)到90(‘Z’)是基本Java语言的一部分吗?如果是,1~64留作什么用处?
问:为什么有些错误称为异常?
问:在多维数组中,可以使用变量length来测量除第一维外的其他维的长度吗?
9.8 测验
9.9 练习
10 创建第一个对象
本章介绍如下内容:
10.1 面向对象编程的工作原理
10.2 对象示例
10.3 什么是对象
10.4 理解继承
10.5 建立继承层次
10.6 转换对象和简单变量
10.7 创建对象
10.8 总结
10.9 问与答
问:一个类可以继承多个类吗?
问:什么时候应创建非public的方法?
问:为什么可将char值当做int值来使用?
10.10 测验
10.11 练习
11 描述对象
本章介绍如下内容:
11.1 创建变量
11.2 创建类变量
11.3 用方法来创建行为
11.4 将一个类放在另一个类中
11.5 使用关键字this
11.6 使用类方法和类变量
11.7 总结
11.8 问与答
问:为了使用类变量或类方法,必须创建一个对象吗?
问:有没有Java支持的所有内置方法的列表?
问:有没有一种方法可以控制Java程序使用的内存量?
11.9 测验
11.10 练习
12 充分利用现有对象
本章介绍如下内容:
12.1 继承的威力
12.2 建立继承
12.3 使用现有的对象
12.4 将相同类的对象存储到数组列表中
12.5 创建子类
12.6 总结
12.7 问与答
问:到目前为止,所创建的大多数Java程序都没有使用extends来从超类继承,这是否就意味着它们不在层次结构中?
12.8 测验
12.9 练习
13 创建简单的用户界面
本章介绍如下内容:
13.1 Swing和抽象窗口工具包
13.2 使用组件
13.3 创建自己的组件
13.4 总结
13.5 问与答
问:如果没有给容器指定布局管理器,组件将如何排列?
问:为什么很多图形用户界面的类的名字都以J打头,比如JFrame和JLabel?
13.6 测验
13.7 练习
14 用户界面的布局
本章介绍如下内容:
14.1 使用布局管理器
14.2 应用程序的界面布局
14.3 总结
14.4 问与答
问:在LottoMadness应用程序中,为何有些文本框为灰色,而其他文本框为白色?
14.5 测验
14.6 练习
15 响应用户输入
本章介绍如下内容:
15.1 让程序监听
15.2 设置要监听的组件
15.3 处理用户事件
15.4 完善图形应用程序
15.5 总结
15.6 问与答
问:为反映文本框变化,需要使用方法paint()或repaint()吗?
问:为何经常同时导入一个包及其子包,例如,在程序清单15.1中导入java.awt.和java.awt.event.。难道第一条语句没有包含第二条吗?
15.7 测验
15.8 练习
16 创建复杂的用户界面
本章介绍如下内容:
16.1 滑块
16.2 变更监听器
16.3 使用图像图标和工具栏
16.4 表
16.5 总结
16.6 问与答
问:如何找到Java类库中的其他Swing类?
16.7 测验
16.8 练习
17 在数据结构中存储对象
本章介绍如下内容:
17.1 数组列表
17.2 哈希映射
17.3 总结
17.4 问与答
问:“类进行同步”的意思是什么?
17.5 测验
17.6 练习
18 处理程序中的错误
本章介绍如下内容:
18.1 异常
18.2 抛出和捕获异常
18.3 总结
18.4 问与答
问:能够创建自己的异常吗?
问:除异常外,本章为什么没有描述如何抛出和捕获错误?
18.5 测验
18.6 练习
19 创建线程程序
本章介绍如下内容:
19.1 线程
19.2 使用线程
19.3 构造函数
19.4 在创建URL时捕获错误
19.5 启动线程
19.6 处理鼠标单击
19.7 循环显示链接
19.8 总结
19.9 问与答
问:在LinkRotator 应用程序中的catch语句中不执行任何操作,这是为什么呢?
19.10 测验
19.11 练习
20 使用内部类和闭包
本章介绍如下内容:
20.1 内部类
20.2 闭包
20.3 总结
20.4 问与答
问:匿名内部类很让人摸不着头脑。我必须在程序中使用它么?
20.5 测验
20.6 练习
21 读写文件
本章介绍如下内容:
21.1 流
21.2 将数据写入流中
21.3 读写配置属性
21.4 总结
21.5 问与答
问:为什么本章的一些字节流方法使用整型参数?不是应使用字节型参数吗?
21.6 测验
21.7 练习
22 利用JAX-WS开发Web服务
本章介绍如下内容:
22.1 定义服务端点接口
22.2 创建服务实现Bean
22.3 发布Web服务
22.4 使用Web服务描述语言文件
22.5 创建Web服务客户端
22.6 总结
22.7 问与答
问:XML-RPC是如何应用于SOAP Web服务中的?
问:为什么com.java24hours.ws包与Internet主机ws.java24hours.com关联到一起?它们是如何关联的?
22.8 测验
22.9 练习
23 创建Java2D图形
本章介绍如下内容:
23.1 使用Font类
23.2 使用Color类
23.3 创建自定义颜色
23.4 绘制直线和形状
23.5 绘制饼图
23.6 总结
23.7 问与答
问:如何沿顺时针方向(而不是逆时针方向)绘制弧线?
问:椭圆和圆没有角。在构造函数Ellipses.Float中指定的(x, y)坐标是什么?
问:如何在Java中使用XRender?
23.8 测验
23.9 练习
24 编写Android app
本章介绍如下内容:
24.1 Android简介
24.2 创建Android app
24.3 运行app
24.4 设计真实的app
24.5 总结
24.6 问与答
问:为什么使用Eclipse而不是NetBeans来创建Android app?
24.7 测验
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站点
附录C 本书站点
附录D 设置Android开发环境
D.1 起步
D.2 安装Eclipse
D.3 安装在Eclipse中使用的Android插件
D.4 设置你的手机
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b42ade4b069f82a1a6a84.png)
思维导图在线编辑链接: