本书共分为24章,作者用通俗易懂的语言描述了Java、面向对象编程和Java应用的基本概念,主要介绍了Java的基本概念,包括变量的类型、字符串的使用、条件和循环语句、数组等;面向对象编程的基本概念,包括对象、继承、数据结构、如何捕获程序的错误、创建线程、人机交互的相关知识等;Java应用的基本概念,包括如何创建HTTP客户端、使用Java绘制图形、创建Minecraft mod、编写Android应用程序等。通过阅读本书,读者将学到Java、面向对象编程的基本知识,以及Java应用的基本概念。
本书适合对Java和面向对象编程感兴趣的读者阅读。
1.本书基于 Java 9 版本编写;
2.全球销量逾百万册的系列图书,连续十余年打造的经典品牌;
3.每章内容针对Java初学者精心设计,直观、循序渐进的学习教程,掌握关键知识的良好起点;
4.“Read Less, Do More”(精读多练)的教学理念,案例与练习题引导读者完成常见的任务;
5.提供源代码。
本书主要内容
设置Java编程环境。
在几分钟内编写第一个可工作的Java程序。
控制程序决策和行为。
存储和处理信息。
构建直观的用户界面。
创建交互式Web程序。
使用线程创建响应式程序。
读写文件和XML数据。
掌握面向对象编程的最佳实践。
使用新的HTTP客户端。
使用Java创建Android 应用程序。
使用闭包扩展技能。
使用Java创建Minecraft mod。
24章阶梯教学
通过阅读本书,读者将学会如何使用免费的NetBeans开发工具来创建Java应用程序。本书采用直观、循序渐进的方法,引导读者掌握使用Java创建桌面/Web程序、Web服务和Android应用程序所必需的技巧和技术。本书每章内容都建立在已学的知识之上,即使读者没有任何Java编程经验,也可以通过学习本书,走上成功的道路。
循序渐进的示例引导读者完成常见的Java开发任务。
问与答、测验和练习帮助读者检验知识的掌握情况。
“注意”“提示”和“警告”指出捷径和解决方案。
罗格斯·卡登海德(Rogers Cadenhead),一位作家、计算机程序员、Web开发人员,他已经编写了23本有关Java和互联网技术的图书,并且维护着Drudge Retort和其他热门站点。
第 1章 成为一个程序员 1
1.1 选择一种语言 2
1.2 告诉计算机该做什么 3
1.3 程序是如何运行的 4
1.4 程序中的错误 5
1.5 选择Java编程工具 6
1.6 安装Java编程工具 6
1.7 总结 7
1.8 研讨时间 7
第 2章 编写读者的第 一个程序 9
2.1 编写程序所需的东西 9
2.2 创建Saluton程序 10
2.3 开始这个程序 10
2.4 类声明 12
2.5 main语句的作用 12
2.6 括号标记 12
2.7 在变量中存储信息 13
2.8 显示变量的值 13
2.9 保存程序 14
2.10 将程序编译成类文件 15
2.11 修复错误 15
2.12 运行Java程序 16
2.13 总结 17
2.14 研讨时间 17
第3章 Java“度假”之旅 19
3.1 Oracle 19
3.2 Java简史 20
3.3 和Java一起上学 21
3.4 在美食网络上学习制作午餐 22
3.5 在NASA观察天空 23
3.6 开始工作 23
3.7 在SourceForge附近停下来
“问路” 24
3.8 总结 25
3.9 研讨时间 25
第4章 理解Java程序是如何运作的 27
4.1 创建一个应用程序 27
4.2 向应用程序发送参数 29
4.3 Java类库 30
4.4 在JShell中尝试Java语句 33
4.5 总结 34
4.6 研讨时间 34
第5章 在程序中存储和更改值 36
5.1 语句和表达式 36
5.2 分配变量类型 37
5.3 整数和浮点数 37
5.4 字符和字符串 38
5.5 其他数值变量类型 39
5.6 布尔变量类型 40
5.7 命名变量 40
5.8 在变量中存储值 41
5.9 运算符 42
5.10 递增和递减变量 43
5.11 运算符优先级 44
5.12 使用表达式 45
5.13 总结 47
5.14 研讨时间 48
第6章 使用字符串进行通信 50
6.1 在字符串型变量中存储文本 50
6.2 在程序中输出字符串 51
6.3 在字符串中使用特殊字符 52
6.4 将字符串粘贴在一起 53
6.5 连接字符串和变量 53
6.6 高级的字符串处理 54
6.6.1 比较字符串 54
6.6.2 确定字符串的长度 55
6.6.3 创建一个不同大小写的
字符串 55
6.6.4 查找字符串 56
6.6.5 输出演职员表 56
6.7 总结 58
6.8 研讨时间 58
第7章 使用条件测试来做决定 60
7.1 if语句 61
7.1.1 小于和大于比较 61
7.1.2 相等和不相等比较 62
7.1.3 用块组织程序 62
7.2 if-else语句 63
7.3 switch语句 64
7.4 三元运算符 66
7.5 观察Clock程序 66
7.6 总结 70
7.7 研讨时间 70
第8章 用循环重复一个动作 72
8.1 for循环 72
8.2 while循环 75
8.3 do-while循环 75
8.4 退出循环 76
8.5 命名循环 77
8.6 测试计算机的运行速度 78
8.7 总结 80
8.8 研讨时间 80
第9章 用数组存储信息 82
9.1 创建数组 82
9.2 使用数组 84
9.3 多维数组 85
9.4 数组排序 86
9.5 计算字符串中的字符出现的
次数 88
9.6 总结 90
9.7 研讨时间 90
第 10章 创建第 一个对象 92
10.1 面向对象编程的工作原理 92
10.2 对象的行为 93
10.3 创建对象 94
10.4 理解继承 95
10.5 构建继承的层次结构 96
10.6 转换简单的变量和对象 96
10.6.1 转换简单的变量 97
10.6.2 转换对象 98
10.6.3 将简单的变量转换为对象并
返回 98
10.7 创建一个对象 100
10.8 总结 102
10.9 研讨时间 103
第 11章 描述对象 105
11.1 创建变量 105
11.2 创建类变量 107
11.3 使用方法创建行为 108
11.3.1 创建方法 108
11.3.2 具有不同参数的相似
方法 109
11.3.3 构造函数 110
11.3.4 类方法 111
11.3.5 方法中的变量范围 111
11.4 将一个类放入另一个类 112
11.5 使用this关键字 113
11.6 使用类方法和类变量 114
11.7 总结 116
11.8 研讨时间 116
第 12章 充分利用现有的对象 118
12.1 继承的力量 118
12.1.1 建立继承 120
12.1.2 在子类中使用this和super 121
12.1.3 处理现有对象 121
12.2 在数组列表中存储相同类的
对象 122
12.2.1 遍历数组列表 124
12.2.2 创建一个子类 125
12.3 总结 128
12.4 研讨时间 128
第 13章 在数据结构中存储对象 130
13.1 数组列表 131
13.2 散列映射 136
13.3 总结 138
13.4 研讨时间 139
第 14章 处理程序中的错误 141
14.1 异常 141
14.1.1 在try-catch语句块中捕获
异常 142
14.1.2 捕获几种不同类型的
异常 145
14.1.3 发生异常后的处理 146
14.1.4 抛出异常 147
14.1.5 忽略异常 148
14.1.6 不需要被捕获的异常 149
14.2 抛出和捕获异常 150
14.3 总结 152
14.4 研讨时间 152
第 15章 创建线程程序 154
15.1 线程 154
15.1.1 放慢程序速度 155
15.1.2 创建一个线程 155
15.2 处理线程 158
15.2.1 类的声明 159
15.2.2 设置变量 159
15.3 构造函数 160
15.4 在设置URL时捕获异常 160
15.5 启动线程 161
15.6 处理单击事件 162
15.7 显示LinkRotator 162
15.8 总结 165
15.9 研讨时间 165
第 16章 使用内部类和Lambda
表达式 167
16.1 内部类 167
16.2 Lambda表达式 173
16.3 总结 177
16.4 研讨时间 177
第 17章 构建一个简单的图形用户
界面 179
17.1 Swing和抽象窗口工具包 179
17.2 使用组件 180
17.2.1 窗口和框架 180
17.2.2 按钮 184
17.2.3 标签和文本框 185
17.2.4 复选框 186
17.2.5 下拉列表框 187
17.2.6 多行文本框 188
17.2.7 面板 190
17.2.8 创建组件 190
17.3 总结 194
17.4 研讨时间 195
第 18章 布局图形用户界面 197
18.1 使用布局管理器 197
18.1.1 GridLayout管理器 199
18.1.2 BorderLayout管理器 200
18.1.3 BoxLayout管理器 200
18.1.4 使用Insets分离组件 201
18.2 提出申请 202
18.3 总结 206
18.4 研讨时间 206
第 19章 响应用户输入 208
19.1 使程序监听 208
19.2 设置要被监听的组件 209
19.3 处理用户事件 209
19.3.1 复选框和下拉列表框
事件 210
19.3.2 键盘事件 211
19.3.3 启用和禁用组件 213
19.4 完成LottoMadness程序 213
19.5 总结 221
19.6 研讨时间 221
第 20章 读/写文件 223
20.1 流 223
20.1.1 文件 224
20.1.2 从流中读取数据 225
20.1.3 缓冲的输入流 228
20.2 将数据写入流 230
20.3 读取和写入配置属性 232
20.4 总结 234
20.5 研讨时间 235
第 21章 使用Java 9的新HTTP
客户端 237
21.1 Java模块 237
21.2 发出HTTP请求 238
21.3 从Web保存文件 241
21.4 在网上发布数据 244
21.5 总结 247
21.6 研讨时间 247
第 22章 绘制Java2D图形 249
22.1 使用Font类 249
22.2 使用Color类 250
22.3 创建自定义颜色 251
22.4 绘制线条和形状 251
22.4.1 绘制线条 252
22.4.2 绘制矩形 252
22.4.3 绘制椭圆和圆 253
22.4.4 绘制弧 254
22.5 绘制饼图 254
22.6 总结 258
22.7 研讨时间 259
第 23章 使用Java创建
Minecraft Mod 261
23.1 设置Minecraft服务器 262
23.2 连接到服务器 265
23.3 创建读者的第 一个Mod 266
23.4 教僵尸骑马 272
23.5 找到所有的暴民 277
23.6 编写一个可以构建事件
的Mod 280
23.7 总结 285
23.8 研讨时间 285
第 24章 编写Android移动应用程序 287
24.1 介绍Android 287
24.2 创建一个Android移动应用
程序 288
24.2.1 探索一个新的Android
项目 290
24.2.2 创建一个移动应用程序 291
24.2.3 设置Android模拟器 292
24.3 运行移动应用程序 293
24.4 设计一个真正的移动应用
程序 295
24.4.1 组织资源 295
24.4.2 配置移动应用程序的
Manifest文件 296
24.4.3 设计图形用户界面 297
24.5 总结 298
24.6 研讨时间 298
附录A 使用NetBeans IDE 300
附录B 获取Java资源 306
附录C 修复Android Studio模拟器的
一个问题 308
附录D 修复NetBeans IDE中不可见的
包错误 313