编辑推荐

畅销全球的Java入门经典教程,中文版累计销量超40000册
经典Java学习教程全新升级,涵盖Java8和Android开发等内容
21天学通Java 第7版》源码、JDK8和NetBeans8.0.2可供下载

只需21天的时间,读者便可具备使用Java开发两种程序的知识和技能:运行在计算机中的应用程序以及运行在Android手机和平板电脑中的应用。通过阅读《21天学通Java 第7版》,读者将快速掌握Java基础知识,以及更高级的Java功能和概念。
21天学通Java 第7版》针对Java8进行了全面更新,旨在为读者讲解Java相关的知识,以及如何使用Java创建能在任何计算环境中运行的程序和Androidapp。学完《21天学通Java 第7版》之后,读者将全面掌握Java和Java类库。

真正零基础——通过遵循每章课程,任何人都可以掌握Java编程的基础。
自主安排学习计划——可逐章顺序学习,确保彻底理解所有概念和方法,也可以关注具体章节,学习感兴趣的技术。
检测对知识的掌握程度——每章末尾包含的问答题和练习可以帮助你验证知识的掌握情况。

21天学通Java 第7版》讲解了如下主题:
使用NetBeans和Google的新AndroidStudio开发Java程序和Androidapp;
涵盖了Java8的新特性,比如多年来大家梦寐以求的闭包;
通过易于理解的实例,清晰阐述Java编程的基本原理;
使用Swing快速开发图形用户界面程序;
使用Derby数据库进行JDBC4.2编程以及使用开源类库XOM分析XML;
使用流来编写通过网络进行通信的程序,包括套接字编程、缓冲区、通道和URL处理。

内容简介

《21天学通Java(第7版)》是初学者学习Java编程语言的畅销经典教程,循序渐进地介绍了Java编程语言知识,并提供了丰富的实例和练习;同时全面涵盖了Java8这一新标准以及与Android开发相关的Java编程知识。通过《21天学通Java 第7版》的学习,读者将逐步了解、熟悉并精通Java编程语言。
《21天学通Java(第7版)》包括3周的课程,通过学习,读者将具备使用Java开发应用程序和Android应用的知识和技能。第1周介绍Java语言的基本知识,包括数据类型、变量、表达式、对象、数组、条件语句、循环、类、接口、包、异常、线程等;第2周介绍Java类库,包括链表、栈、散列映射和位组等数据结构以及Swing组件、布局管理器和JavaWebStart等;第3周介绍高级主题,包括输入和输出、内部类和闭包、通过Internet进行通信、使用数据库、XML、Web服务、Android编程等内容。
《21天学通Java(第7版)》可作为初学者学习Java编程技术的教程,也可供已掌握其他语言的程序员学习Java时参考。

作者简介

RogersCadenhead是程序员兼作者,出版了30多部编程和Web发布方面的著作,其中包括SamsTeachYourselfJava2in24Hours和AbsoluteBeginner’sGuidetoMinecraftModsProgramming。他还是DrudgeRetort等网站的发布人,这些网站每年的访问量超过2000万。

目录

第1章Java基础2
1.1Java语言2
1.1.1Java的历史2
1.1.2Java概述3
1.1.3选择开发工具3
1.2面向对象编程4
1.3对象和类5
1.4属性和行为6
1.4.1属性6
1.4.2行为6
1.4.3创建类7
1.4.4运行程序9
1.5组织类和类行为11
1.5.1继承11
1.5.2创建类层次结构12
1.5.3使用继承13
1.5.4接口14
1.5.5包14
1.6总结15
1.7问与答15
1.8小测验15
1.8.1问题15
1.8.2答案16
1.9认证练习16
1.10练习16
第2章Java编程基础17
2.1语句和表达式17
2.2变量和数据类型18
2.2.1创建变量18
2.2.2给变量命名19
2.2.3变量类型19
2.2.4给变量赋值20
2.2.5常量21
2.3注释22
2.4字面量23
2.4.1数字字面量23
2.4.2布尔字面量24
2.4.3字符字面量24
2.4.4字符串字面量25
2.5表达式和运算符26
2.5.1算术运算符26
2.5.2再谈赋值27
2.5.3递增和递减运算符28
2.5.4比较运算符29
2.5.5逻辑运算符29
2.5.6运算符优先级30
2.6字符串运算31
2.7总结33
2.8问与答33
2.9小测验33
2.9.1问题34
2.9.2答案34
2.10认证练习34
2.11练习34
第3章对象35
3.1创建新对象35
3.1.1使用new35
3.1.2对象是如何创建的37
3.1.3内存管理37
3.2使用类变量和实例变量38
3.2.1获取值38
3.2.2设置值38
3.2.3类变量39
3.3调用方法40
3.3.1设置字符串的格式41
3.3.2嵌套方法调用42
3.3.3类方法43
3.4对象的引用43
3.5对象和基本数据类型的强制类型转换44
3.5.1强制转换基本类型45
3.5.2强制转换对象46
3.5.3基本类型和对象之间的转换47
3.6比较对象值和类48
3.6.1比较对象48
3.6.2判断对象所属的类49
3.7总结49
3.8问与答50
3.9小测验50
3.9.1问题50
3.9.2答案51
3.10认证练习51
3.11练习51
第4章数组、逻辑和循环52
4.1数组52
4.1.1声明数组变量52
4.1.2创建数组对象53
4.1.3访问数组元素54
4.1.4修改数组元素54
4.1.5多维数组56
4.2块语句57
4.3if条件语句57
4.4switch条件语句58
4.5三目运算符63
4.6for循环63
4.7while和do循环65
4.7.1while循环65
4.7.2do...while循环67
4.8跳出循环67
4.9总结68
4.10问与答68
4.11小测验69
4.11.1问题69
4.11.2答案69
4.12认证练习69
4.13练习70
第5章创建类和方法71
5.1定义类71
5.2创建实例变量和类变量71
5.2.1定义实例变量72
5.2.2类变量72
5.3创建方法72
5.3.1定义方法72
5.3.2关键字this74
5.3.3变量作用域和方法定义74
5.3.4将参数传递给方法75
5.3.5类方法76
5.4创建Java应用程序77
5.5Java应用程序和参数78
5.5.1将参数传递给Java应用程序78
5.5.2在Java程序中处理参数79
5.6创建同名方法80
5.7构造函数83
5.7.1基本的构造函数83
5.7.2调用另一个构造函数84
5.7.3重载构造函数84
5.8覆盖方法85
5.8.1创建覆盖现有方法的方法85
5.8.2调用原来的方法87
5.8.3覆盖构造函数87
5.9总结88
5.10问与答89
5.11小测验89
5.11.1问题89
5.11.2答案90
5.12认证练习90
5.13练习90
第6章包、接口和其他类特性91
6.1限定符91
6.2静态变量和方法95
6.3final类、方法和变量97
6.3.1变量97
6.3.2方法97
6.3.3类98
6.4抽象类和方法98
6.5包98
6.5.1import声明99
6.5.2类名冲突100
6.6创建自己的包101
6.6.1选择包名101
6.6.2创建文件夹结构101
6.6.3将类加入到包中102
6.6.4包和类访问控制102
6.7接口102
6.7.1单继承存在的问题102
6.7.2接口和类103
6.7.3实现和使用接口103
6.7.4实现多个接口103
6.7.5接口的其他用途104
6.8创建和扩展接口104
6.8.1新接口104
6.8.2接口中的方法105
6.8.3扩展接口105
6.8.4创建网上商店106
6.9总结110
6.10问与答110
6.11小测验110
6.11.1问题110
6.11.2答案111
6.12认证练习111
6.13练习112
第7章异常和线程113
7.1异常113
7.2管理异常115
7.2.1异常一致性检测115
7.2.2保护代码和捕获异常116
7.2.3finally子句118
7.3声明可能引发异常的方法120
7.3.1throws子句120
7.3.2应引发哪些异常121
7.3.3传递异常121
7.3.4throws和继承122
7.4创建并引发自己的异常122
7.4.1引发异常123
7.4.2创建自己的异常123
7.4.3结合使用throws、try和throw123
7.5在什么情况下不使用异常124
7.6线程125
7.6.1编写线程化程序125
7.6.2线程化应用程序126
7.6.3终止线程129
7.7总结130
7.8问与答130
7.9小测验131
7.9.1问题131
7.9.2答案131
7.10认证练习131
7.11练习132
第8章数据结构134
8.1超越数组134
8.2Java数据结构134
8.2.1Iterator135
8.2.2位组136
8.2.3链表138
8.2.4遍历数据结构140
8.2.5堆栈142
8.2.6Map143
8.2.7散列映射144
8.3泛型147
8.4枚举150
8.5总结151
8.6问与答151
8.7小测验151
8.7.1问题151
8.7.2答案152
8.8认证练习152
8.9练习153
第9章使用Swing154
9.1创建应用程序154
9.1.1创建界面155
9.1.2开发框架156
9.1.3创建组件157
9.1.4将组件加入到容器中158
9.2使用组件159
9.2.1图标160
9.2.2标签161
9.2.3文本框162
9.2.4文本区域162
9.2.5可滚动窗格164
9.2.6复选框和单选按钮164
9.2.7组合框166
9.2.8列表167
9.3Java类库169
9.4总结170
9.5问与答170
9.6小测验171
9.6.1问题171
9.6.2答案171
9.7认证练习171
9.8练习172
第10章创建Swing界面173
10.1Swing的特性173
10.1.1标准对话框173
10.1.2使用对话框176
10.1.3滑块178
10.1.4滚动窗格179
10.1.5工具栏180
10.1.6进度条182
10.1.7菜单184
10.1.8选项卡式窗格187
10.2总结188
10.3问与答188
10.4小测验189
10.4.1问题189
10.4.2答案189
10.5认证练习190
10.6练习190
第11章在用户界面上排列组件191
11.1基本的界面布局191
11.1.1布置界面191
11.1.2顺序布局192
11.1.3方框布局193
11.1.4网格布局195
11.1.5边框布局197
11.2使用多个布局管理器198
11.3卡片布局199
11.3.1在应用程序中使用卡片布局200
11.3.2单元格内边距和面板内边距204
11.4总结204
11.5问与答205
11.6小测验205
11.6.1问题205
11.6.2答案206
11.7认证练习206
11.8练习207
第12章响应用户输入208
12.1事件监听器208
12.1.1设置组件209
12.1.2事件处理方法209
12.2使用方法211
12.2.1行为事件211
12.2.2焦点事件212
12.2.3选项事件214
12.2.4键盘事件216
12.2.5鼠标事件216
12.2.6鼠标移动事件217
12.2.7窗口事件220
12.2.8使用适配器类220
12.2.9使用内部类222
12.3总结223
12.4问与答223
12.5小测验224
12.5.1问题224
12.5.2答案224
12.6认证练习224
12.7练习225
第13章创建Java2D图形226
13.1Graphics2D类226
13.2绘制文本227
13.2.1使用防锯齿改善字体和图形的
质量229
13.2.2获取字体的信息229
13.3颜色231
13.3.1使用Color对象231
13.3.2检测和设置当前颜色231
13.4绘制直线和多边形232
13.4.1用户坐标空间和设备坐标空间232
13.4.2指定渲染属性233
13.4.3创建要绘制的对象234
13.4.4绘制对象236
13.5总结239
13.6问与答239
13.7小测验239
13.7.1问题239
13.7.2答案240
13.8认证练习240
13.9练习240
第14章开发Swing应用程序241
14.1JavaWebStart241
14.2使用JavaWebStart243
14.2.1创建JNLP文件243
14.2.2在服务器上支持WebStart249
14.2.3其他JNLP元素250
14.3使用SwingWorker改善性能251
14.4总结255
14.5问与答255
14.6小测验255
14.6.1问题255
14.6.2答案256
14.7认证练习256
14.8练习256
第15章输入和输出258
15.1流简介258
15.1.1使用流258
15.1.2过滤流259
15.1.3处理异常259
15.2字节流259
15.3过滤流262
15.4字符流269
15.4.1读取文本文件269
15.4.2写文本文件271
15.5文件和路径272
15.6总结274
15.7问与答274
15.8小测验275
15.8.1问题275
15.8.2答案275
15.9认证练习275
15.10练习276
第16章使用内部类和闭包277
16.1内部类277
16.2闭包284
16.3总结288
16.4问与答288
16.5小测验288
16.5.1问题288
16.5.2答案289
16.6认证练习289
16.7练习290
第17章通过Internet进行通信291
17.1Java联网技术291
17.1.1打开跨越网络的流291
17.1.2套接字294
17.1.3Socket服务器297
17.1.4设计服务器应用程序298
17.1.5测试服务器299
17.2java.nio包300
17.2.1缓冲区301
17.2.2通道303
17.3总结310
17.4问与答311
17.5小测验311
17.5.1问题311
17.5.2答案311
17.6认证练习311
17.7练习312
第18章使用JDBC4.2和Derby访问
数据库313
18.1JDBC313
18.1.1数据库驱动程序314
18.1.2查看数据库314
18.1.3读取数据库记录316
18.1.4将记录写入数据库320
18.1.5遍历结果集325
18.2总结325
18.3问与答325
18.4小测验326
18.4.1问题326
18.4.2答案326
18.5认证练习326
18.6练习327
第19章读写RSSFeed328
19.1使用XML328
19.2设计XML语言330
19.3使用Java处理XML331
19.4使用XOM处理XML331
19.4.1创建XML文档332
19.4.2修改MXL文档334
19.4.3格式化XML文档338
19.4.4评估XOM339
19.5总结341
19.6问与答342
19.7小测验342
19.7.1问题342
19.7.2答案342
19.8认证练习343
19.9练习343
第20章XMLWeb服务344
20.1XML-RPC简介344
20.2使用XML-RPC进行通信345
20.2.1发送请求345
20.2.2响应请求346
20.3选择XML-RPC实现347
20.4使用XML-RPCWeb服务348
20.5创建XML-RPCWeb服务350
20.6总结354
20.7问与答354
20.8小测验354
20.8.1问题355
20.8.2答案355
20.9认证练习355
20.10练习356
第21章使用Java编写Android应用357
21.1Android的历史357
21.2编写Android应用358
21.2.1组织Android项目360
21.2.2创建程序361
21.3运行应用362
21.4设计Android应用363
21.4.1准备资源363
21.4.2配置清单文件364
21.4.3设计图形用户界面365
21.4.4编写代码367
21.5总结372
21.6问与答372
21.7小测验372
21.7.1问题372
21.7.2答案372
21.8认证练习373
21.9练习373
附录A使用集成开发环境NetBeans376
A.1安装NetBeans376
A.2新建项目376
A.3新建Java类378
A.4运行应用程序379
A.5修复错误380
A.6展开和折叠窗格381
A.7探索NetBeans382
附录B配套网站383
附录C修复AndroidStudio模拟器存在的
问题384
C.1运行应用时出现的问题384
C.1.1在AndroidStudio中下载HAXM385
C.1.2在计算机中安装HAXM385
C.1.3检查BIOS设置387
附录D使用Java开发包388
D.1选择Java开发工具388
D.2配置JDK390
D.2.1使用命令行界面390
D.2.2切换文件夹391
D.2.3在MS-DOS中创建文件夹392



D.2.4在MS-DOS中运行程序392
D.2.5修复配置错误393
D.3使用文本编辑器396
D.4创建示例程序397
D.5设置CLASSPATH变量398
D.5.1在大多数Windows版本中设置
CLASSPATH399
D.5.2在Windows98/Me中设置CLASSPATH400
附录E使用Java开发包编程402
E.1JDK概览402
E.2Java虚拟机403
E.3编译器javac404
E.4浏览器appletviewer405
E.5文档工具javadoc407
E.6Java文件存档工具jar409
E.7调试器jdb410
E.7.1调试应用程序411
E.7.2调试小程序412
E.7.3高级调试命令412
E.8使用系统属性413
E.9代码签名工具keytool和jarsigner414

其他推荐