Java语言程序设计(基础篇)图书
人气:92

Java语言程序设计(基础篇)

Daniel Liang的经典著作,整合Java 8的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用户界面设计、异常处理

内容简介

本书是Java语言的经典教材,多年来畅销不衰。本书整合了Java 8的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用户界面设计、异常处理、I/O和递归等内容。此外,本书还且深入地覆盖了一些高级主题,包括算法和数据结构、多线程、网络、国际化、高级GUI等内容。

本书中文版由《Java语言程序设计 基础篇》和《Java语言程序设计 进阶篇》组成。基础篇对应原书的第1~18章,进阶篇对应原书的第19~33章。为满足对Web设计有浓厚兴趣的同学,本版在配套网站上增加了第34~42章的内容,以提供更多的相关信息。

本书特点

基础篇介绍基础内容,进阶篇介绍高级内容,便于教师按需选择理想的教材。

整合了Java 8的特性,对全书的内容进行了修订和更新,以反映Java程序设计的技术发展。

对面向对象程序设计进行了深入论述,包含GUI程序设计的基础和扩展。

提供的大量示例中都包括了对问题求解的详细步骤,很多示例都是随着Java技术的引入不断地进行增强,这种循序渐进的讲解方式更易于学生学习。

用JavaFX取代了Swing,极大地简化了GUI编程,比Swing更易于学习。

更多有趣示例和练习,激发学生兴趣。在配套网站上还为教师提供了100多道的编程练习题。

编辑推荐

Java语言的经典教材,多年来畅销不衰。本书整合了Java 8的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用户界面设计、异常处理、I/O和递归等内容

作者简介

作者简介

梁勇(Y. Daniel Liang) 现为阿姆斯特朗亚特兰大州立大学计算机科学系教授。之前曾是普度大学计算机科学系副教授,并两次获得普度大学杰出研究奖。他所编写的Java教程在美国大学Java课程中采用率极高,同时他还兼任Prentice Hall Java系列丛书的编辑。他是“Java Champion”荣誉得主,并在世界各地为在校学生和程序员做JAVA程序设计方法及技术方面的讲座。

译者简介

戴开宇复旦大学软件学院教师,工程硕士导师,中国计算机学会会员。博士毕业于上海交通大学计算机应用专业,2011~2012年在美国佛罗里达大学作访问学者。承担多门本科专业课程、通识教育课程以及工程硕士课程,这些课程被评为校精品课程,上海市重点建设课程,IBM-教育部精品课程等。

目录

Introduction to Java Programming, Comprehension Version, Tenth Edition

出版者的话

中文版序

译者序

前言

第1章计算机、程序和Java概述 1

1.1引言 1

1.2什么是计算机 2

1.2.1中央处理器 2

1.2.2比特和字节 3

1.2.3内存 3

1.2.4存储设备 4

1.2.5输入和输出设备 4

1.2.6通信设备 5

1.3编程语言 6

1.3.1机器语言 6

1.3.2汇编语言 6

1.3.3高级语言 7

1.4操作系统 8

1.4.1控制和监视系统的活动 8

1.4.2分配和调配系统资源 8

1.4.3调度操作 8

1.5Java、万维网以及其他 9

1.6Java语言规范、API、JDK和IDE 10

1.7一个简单的Java程序 11

1.8创建、编译和执行Java程序 13

1.9程序设计风格和文档 16

1.9.1正确的注释和注释风格 16

1.9.2正确的缩进和空白 16

1.9.3块的风格 17

1.10程序设计错误 17

1.10.1语法错误 17

1.10.2运行时错误 18

1.10.3逻辑错误 18

1.10.4常见错误 19

1.11使用NetBeans开发Java程序 20

1.11.1创建Java工程 20

1.11.2创建Java类 21

1.11.3编译和运行类 22

1.12使用Eclipse开发Java程序 22

1.12.1创建Java工程 22

1.12.2创建Java类 24

1.12.3编译和运行类 24

关键术语 25

本章小结 25

测试题 26

编程练习题 26

第2章基本程序设计 28

2.1引言 28

2.2编写简单的程序 28

2.3从控制台读取输入 31

2.4标识符 34

2.5变量 34

2.6赋值语句和赋值表达式 36

2.7命名常量 37

2.8命名习惯 37

2.9数值数据类型和操作 38

2.9.1数值类型 38

2.9.2从键盘读取数值 39

2.9.3数值操作符 39

2.9.4幂运算 41

2.10数值型直接量 41

2.10.1整型直接量 42

2.10.2浮点型直接量 42

2.10.3科学记数法 42

2.11表达式求值以及操作符优先级 43

2.12示例学习:显示当前时间 44

2.13增强赋值操作符 46

2.14自增和自减操作符 47

2.15数值类型转换 48

2.16软件开发过程 50

2.17示例学习:整钱兑零 54

2.18常见错误和陷阱 56

关键术语 58

本章小结 58

测试题 59

编程练习题 59

第3章选择 64

3.1引言 64

3.2boolean数据类型 64

3.3if语句 66

3.4双分支if-else语句 68

3.5嵌套的if语句和多分支if-else语句 69

3.6常见错误和陷阱 71

3.7产生随机数 74

3.8示例学习:计算身体质量指数 76

3.9示例学习:计算税率 77

3.10逻辑操作符 80

3.11示例学习:判定闰年 83

3.12示例学习: 84

3.13switch语句 85

3.14条件表达式 88

3.15操作符的优先级和结合规则 89

3.16调试 90

关键术语 91

本章小结 91

测试题 92

编程练习题 92

第4章数学函数、字符和字符串 100

4.1引言 100

4.2常用数学函数 101

4.2.1三角函数方法 101

4.2.2指数函数方法 102

4.2.3取整方法 102

4.2.4min、max和abs方法 102

4.2.5random方法 103

4.2.6示例学习:计算三角形的角度 103

4.3字符数据类型和操作 105

4.3.1Unicode和ASCII码 105

4.3.2特殊字符的转义序列 106

4.3.3字符型数据与数值型数据之间的转换 107

4.3.4字符的比较和测试 107

4.4String类型 109

4.4.1求字符串长度 110

4.4.2从字符串中获取字符 110

4.4.3连接字符串 111

4.4.4字符串的转换 111

4.4.5从控制台读取字符串 112

4.4.6从控制台读取字符 112

4.4.7字符串比较 112

4.4.8获得子字符串 114

4.4.9获取字符串中的字符或者子串 115

4.4.10字符串和数字间的转换 116

4.5示例学习 117

4.5.1猜测生日 118

4.5.2将十六进制数转换为十进制数 121

4.5.3使用字符串修改程序 122

4.6格式化控制台输出 123

关键术语 126

本章小结 127

测试题 127

编程练习题 127

第5章循环 133

5.1引言 133

5.2while循环 134

5.2.1示例学习:猜数字 136

5.2.2循环设计策略 138

5.2.3示例学习:多个减法测试题 138

5.2.4使用标记值控制循环 140

5.2.5输入和输出重定向 141

5.3do-while循环 143

5.4for循环 144

5.5采用哪种循环 147

5.6嵌套循环 149

5.7最小化数值错误 151

5.8示例学习 152

5.8.1求较大公约数 152

5.8.2预测未来学费 154

5.8.3将十进制数转换为

十六进制数 155

5.9关键字break和continue 156

5.10示例学习:判断回文串 159

5.11示例学习:显示素数 160

关键术语 162

本章小结 163

测试题 163

编程练习题 163

第6章方法 171

6.1引言 171

6.2定义方法 172

6.3调用方法 173

6.4void方法示例 175

6.5通过传值进行参数传递 178

6.6模块化代码 181

6.7示例学习:将十六进制数转换为十进制数 183

6.8重载方法 185

6.9变量的作用域 187

6.10示例学习:生成随机字符 188

6.11方法抽象和逐步求精 190

6.11.1自顶向下的设计 191

6.11.2自顶向下和自底向上的实现 192

6.11.3实现细节 193

6.11.4逐步求精的优势 196

关键术语 196

本章小结 197

测试题 197

编程练习题 197

第7章一维数组 207

7.1引言 207

7.2数组的基础知识 207

7.2.1声明数组变量 208

7.2.2创建数组 208

7.2.3数组大小和默认值 209

7.2.4访问数组元素 209

7.2.5数组初始化语法 210

7.2.6处理数组 210

7.2.7foreach循环 212

7.3示例学习:分析数字 214

7.4示例学习:一副牌 215

7.5数组的复制 217

7.6将数组传递给方法 218

7.7从方法中返回数组 221

7.8示例学习:统计每个字母出现的次数 221

7.9可变长参数列表 224

7.10数组的查找 225

7.10.1线性查找法 225

7.10.2二分查找法 226

7.11数组的排序 228

7.12Arrays类 230

7.13命令行参数 232

7.13.1向main方法传递字符串 232

7.13.2示例学习:计算器 232

关键术语 234

本章小结 235

测试题 235

编程练习题 235

第8章多维数组 242

8.1引言 242

8.2二维数组的基础知识 242

8.2.1声明二维数组变量并创建二维数组 243

8.2.2获取二维数组的长度 244

8.2.3锯齿数组 244

8.3处理二维数组 245

8.4将二维数组传递给方法 247

8.5示例学习:多选题测验评分 248

8.6示例学习:找出距离最近的点对 249

8.7示例学习:数独 251

8.8多维数组 254

8.8.1示例学习:每日温度和湿度 255

8.8.2示例学习:猜生日 256

在线预览

程序在第6行创建一个魔法数,然后提示用户在一个循环中连续输入猜测值(第12~23行)。对每一次猜测,程序检查该猜测数是否正确,是偏高还是偏低了(第17—22行)。当某次猜测正确时,程序就退出这个循环(第12行)。注意:guess被初始化为—1将它初始化为0到100之间的值会出错,因为它很呵能就是要猜的数。

网友评论(不代表本站观点)

来自无昵称**的评论:

内容很全面,自学JAVA应该很适合用这个,要是能便宜点就好了

2016-01-05 14:08:34
来自zhengze**的评论:

网上下了pdf看了觉得这本书非常好,特地买了正版支持一下~讲得由浅入深,非常具有实用性和操作性

2016-01-27 12:04:31
来自无昵称**的评论:

两本书不是很搭,从第10 基础到8版进阶 目录对不上,,没注意

2016-03-17 08:28:54
来自无昵称**的评论:

非常好的入门书!不论你以前有无学过其他编程语言 这本书都非常适合初学者!

2016-07-03 12:09:40
来自method**的评论:

书有塑料薄膜包装 是新的 虽然有一本书脊有点折损 但是总体是很不错的 印刷没有质量问题 很好

2016-02-25 19:07:03
来自无昵称**的评论:

相比于第8版,多了很多习题,,对于我这样的入门着来说。我觉得反倒没那么的亲切了,早知道就买第8版,当然,书是好书。

2017-08-13 21:10:12
来自知秋一**的评论:

看过第八版,很不错!所以买了最新版的!就是不知道进阶篇什么时候出版?

2015-12-02 13:49:19
来自涐泍繕**的评论:

包装很好,但是书的最后一页居然多出一部分边角出来,这质量也是醉了!本书涉及的内容比较多,但对于初学者特别是计算机零基础而言感觉还是稍显艰涩了点。

2015-11-12 22:28:54
来自言忘伤**的评论:

这本书2讲得比较基础,从最先的创建工程一步一步教你。非常好。

2016-09-16 08:59:27
来自无昵称**的评论:

相当经典,相当赞.有关于一点的讲解题要非常便于查询,可以作为一个很好的参考。最好与进阶版一起买!

2016-11-30 10:29:57
来自无昵称**的评论:

纸质太差,送货人态度也差,简直让人崩溃,加运费64块钱买本盗版的书,简单妈的坑爹!~再也不在当当买书了!~呸...

2016-12-01 13:47:29
来自yangnay**的评论:

冲着它已经出到第10版买的,基础内容讲得很详细,适合初学者。

2016-10-01 16:26:22
来自yangqiu**的评论:

比较基础,适合编程初学者,有点啰嗦,没学过c语言的也可以看。书中习题貌似没有答案,有的地方翻译的不太顺。。

2016-03-13 13:09:42
来自无昵称**的评论:

很好,比较基础的教材,内容也很详细,但是书中配套资源不能使用!

2017-08-28 10:35:44
来自匿名用**的评论:

最好的自学者用书,很适合循环渐进的学习。0基础看这本就够了。

2017-02-22 21:34:13
来自1mor3**的评论:

这本书的纸质印刷情况简直不能再烂了 正面能看见反面的字 我真的服了 书是好书 为什么印刷要这么不负责?

2016-12-01 13:28:10
来自无昵称**的评论:

基础,非常基础。适合当工具书,写得太详实,容易自学跑偏。但内容还是没有问题的。

2016-08-16 13:04:19
来自无昵称**的评论:

这快递的速度惊呆了我,昨天晚上买的,今天上午就到了,这是什么速度,好开心,商家满足了我对知识的渴求欲,接到书后,我凑,好解渴,这... 已经没谁了。

2016-05-16 10:55:30
来自啊荣儿**的评论:

非常好的一本书,无论是初学者还是对java有一定了解的读者,都受益匪浅。

2017-10-15 16:56:12
来自我就是**的评论:

内容讲的非常详细,堪比c++ primer plus,通俗易懂,值得购买!

2017-08-09 21:55:24
来自武大郎6**的评论:

非常不错的教材,强烈推荐! 当然,也推荐本书的英文版本,网上有下载,可以对照阅读。不过,作为中国人,终究还是中文教材读得快,在这么一个年代,时间就是金钱。

2016-04-23 11:22:12
来自匿名用**的评论:

不得不说,作者很厉害,这教授不是浪得虚名,许多程序设计得非常巧妙,值得好好学习。

2017-02-07 23:34:41
来自阿修罗**的评论:

虽然比不上《Thinking in Java》,但是也很经典,推荐读

2016-06-17 19:25:41
来自无昵称**的评论:

特意看了一段时间再来评论,讲解很详细,零基础可以自学看懂,虽然凭良心说翻译得很差……不过大概意思到了就得了

2017-10-31 08:24:57
来自无昵称**的评论:

刚刚开始学习Java语言,看了几章节,感觉还不错,很适合像我这种零基础的的小白学习!

2016-04-22 09:30:21
来自匿名用**的评论:

当当网能换一家快递吗?芝麻开门是世界上最烂的快递,没有之一。福州到厦门的货物三四天才到,而且到厦门我根本就没收到,货物就显示已经签收。网购五六年以来是我见过的最烂的快递公司,没有之一。

2017-03-05 18:41:06
来自无昵称**的评论:

书的质量还可以,非常适合初学者,内容还是比较全的,学完这个再考虑入进阶篇

2016-11-01 11:02:24
登录后即可发表评论

免责声明

更多相关图书
在线咨询