• Java程序设计
21年品牌 40万+商家 超1.5亿件商品

Java程序设计

全新正版 极速发货

55.88 5.6折 99 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)埃里克 S.罗伯茨(Eric S.Roberts) 著;陈昊鹏 译

出版社机械工业出版社

ISBN9787111578277

出版时间2017-09

装帧平装

开本16开

定价99元

货号1201580705

上书时间2024-11-20

书香美美

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
埃里克 S·罗伯茨, 计算机科学教育,美国斯坦福大学计算机科学系教授。由于其对计算机科学教育改革的杰出贡献和成就,曾获得多项奖励,包括 2012年 ACM Karl V. Karlstrom 杰出教育家奖,2012年IEEE CS Taylor L. Booth 教育奖,并于2007年被选为ACM Fellow。他曾编写了几本的计算机程序设计教材,包括《C语言的科学与艺术》、《JAVA语言的科学与艺术》、《c程序设计的抽象思维》等。他是ACM Education Council共同, ACM Education Board前任共同,SIGCSE Board前委员。他于1980年获得哈佛大学应用数学博士学位。

目录
出版者的话
译者序
前言
第1章Java概览1
1.1你的第一个Java程序1
1.2Java的历史2
1.2.1编程语言2
1.2.2面向对象范型3
1.2.3Java编程语言4
1.2.4Java的演化4
1.3Java程序的结构5
1.3.1注释6
1.3.2包声明6
1.3.3导入语句7
1.3.4类定义7
1.3.5run方法8
1.4变量11
1.4.1变量声明11
1.4.2命名惯例11
1.5常量12
1.6数据类型13
1.6.1数据类型的概念13
1.6.2整数类型14
1.6.3浮点类型14
1.6.4布尔类型15
1.6.5字符15
1.6.6字符串16
1.6.7复合类型16
1.7表达式16
1.7.1优先级与结合性17
1.7.2表达式中的混用类型18
1.7.3整数除法和取余操作符18
1.7.4类型强制转换19
1.7.5赋值操作符20
1.7.6递增和递减操作符21
1.7.7布尔操作符22
1.8语句24
1.8.1简单语句24
1.8.2块24
1.8.3if语句24
1.8.4switch语句25
1.8.5while语句26
1.8.6for语句29
1.9类、对象和方法31
1.10总结33
1.11复习题34
1.12习题35
第2章方法39
2.1Java中的方法39
2.1.1Java方法的语法结构40
2.1.2静态方法41
2.1.3重载42
2.2方法和程序结构43
2.3方法调用的机制44
2.3.1调用方法的步骤44
2.3.2组合函数45
2.3.3跟踪组合函数47
2.4简单的递归函数50
2.4.1fact的递归方案51
2.4.2追踪递归过程51
2.4.3递归的信任飞跃54
2.5斐波那契函数55
2.5.1计算斐波那契数列中的项55
2.5.2在递归实现中收获自信57
2.5.3递归实现的效率57
2.5.4递归不应被指责58
2.6总结60
2.7复习题60
2.8习题61
第3章字符串67
3.1将字符串用作抽象值67
3.2字符串操作68
3.2.1在字符串中选择字符70
3.2.2抽取字符串的各个部分70
3.2.3字符串比较71
3.2.4在字符串内搜索72
3.2.5遍历字符串中的字符72
3.2.6通过连接来扩展字符串73
3.2.7使用递归操作字符串74
3.2.8对字符分类74
3.3编写字符串应用程序75
3.3.1识别回文76
3.3.2将英文翻译为隐语77
3.4总结79
3.5复习题80
3.6习题81
第4章文件86
4.1文本文件86
4.2读取文本文件87
4.2.1创建文件读取器87
4.2.2异常处理88
4.2.3逐个字符地读取文件90
4.2.4逐行地读取文件92
4.3编写文本文件93
4.3.1打开用于输出的文件93
4.3.2将输出写入文件中93
4.4格式化输出95
4.5格式化输入100
4.6使用文件对话框102
4.7总结105
4.8复习题105
4.9习题106
第5章数组109
5.1数组简介109
5.1.1数组声明109
5.1.2数组选择110
5.2数据表示和内存112
5.2.1位、字节和字112
5.2.2二进制和十六进制表示113
5.2.3表示其他数据类型115
5.2.4数组的表示115
5.3使用数组来制表117
5.4数组初始化118
5.5多维数组119
5.6可变长参数列表120
5.7总结120
5.8复习题121
5.9习题122
第6章集合128
6.1ArrayList类128
6.1.1指定ArrayList的元素类型129
6.1.2声明ArrayList对象129
6.1.3ArrayList的操作129
6.1.4ArrayList类的一个简单应用130
6.2包装器类131
6.2.1从基本类型创建对象132
6.2.2自动装箱132
6.2.3包装器类中的静态方法133
6.3栈抽象134
6.3.1Stack类的结构135
6.3.2栈和袖珍计算器135
6.4队列抽象138
6.4.1队列应用140
6.4.2仿真与模型140
6.4.3排队模型140
6.4.4离散时间141
6.4.5仿真时间中的事件141
6.4.6实现仿真142
6.4.7随机数144
6.5映射表抽象145
6.5.1Map接口的结构145
6.5.2在应用中使用映射表147
6.6集抽象149
6.7遍历集合151
6.7.1使用迭代器151
6.7.2迭代顺序151
6.7.3计算词频152
6.8总结154
6.9复习题155
6.10习题156
第7章类和对象161
7.1类和面向对象设计161
7.2定义一个简单的Point类161
7.2.1将点定义为一种记录类型162
7.2.2在Point类中包含方法163
7.2.3javadoc注释165
7.2.4让实例变量保持私有166
7.3有理数168
7.3.1定义新类的策略169
7.3.2站在客户的视角169
7.3.3指定Rational类的私有状态170
7.3.4定义Rational类的构造器170
7.3.5为Rational类定义方法171
7.3.6实现Rational类172
7.4设计一个符号扫描器类175
7.4.1客户希望从符号扫描器中得到什么175
7.4.2TokenScanner类176
7.5将对象链接起来180
7.5.1刚铎的烽火180
7.5.2在链表中迭代183
7.6枚举类型183
7.7单元测试185
7.8总结189
7.9复习题190
7.10习题190
第8章继承197
8.1继承的简单示例197
8.1.1指定参数化类中的类型197
8.1.2调用继承方法的规则198
8.1.3调用继承构造器的规则200
8.1.4控制对类内容的访问200
8.1.5继承之外的选择201
8.2定义Employee类203
8.3Java图形类概览206
8.3.1在屏幕上放置一个窗口207
8.3.2向窗口中添加图形208
8.4一种图形对象的层次结构210
8.4.1创建一个面向对象的图形包211
8.4.2实现GWindow和GCanvas类216
8.4.3演示GObject类219
8.4.4创建简单的动画220
8.5定义一个控制台界面222
8.6总结227
8.7复习题228
8.8习题228
第9章递归策略233
9.1递归地思考233
9.1.1一个分而治之算法的简单示例233
9.1.2保持大局观235
9.1.3避免常见的陷阱235
9.2汉诺塔236
9.2.1刻画汉诺塔问题237
9.2.2找到递归策略238
9.2.3验证递归策略240
9.2.4编码解决方案240
9.2.5跟踪递归过程241
9.3子集求和问题245
9.3.1探寻递归解决方案245
9.3.2包含/排除模式246
9.4生成排列246
9.5图形递归249
9.5.1一个计算机艺术实例249
9.5.2分形252
9.6总结256
9.7复习题256
9.8习题256
第10章回溯算法267
10.1迷宫中的递归回溯267
10.1.1右手规则267
10.1.2寻找递归方式268
10.1.3识别简单情况269
10.1.4编码迷宫解决算法270
10.1.5说服自己解决方案有效271
10.2回溯与游戏273
10.2.1Nim游戏274
10.2.2对弈游戏的通用程序277
10.3最小最大值算法279
10.3.1博弈树279
10.3.2对位置和奕法做评估279
10.3.3限制递归搜索的深度281
10.3.4实现最小最大值算法282
10.4总结283
10.5复习题284
10.6习题285
第11章算法分析294
11.1排序问题294
11.1.1选择排序算法294
11.1.2性能的经验度量295
11.1.3分析选择排序的性能296
11.2计算复杂度297
11.2.1大O标记法298
11.2.2大O的标准简化298
11.2.3选择排序的计算复杂度298
11.2.4从代码中降低计算复杂度299
11.2.5最坏情况复杂度与平均情况复杂度300
11.2.6大O的形式化定义301
11.3递归的救赎302
11.3.1分而治之策略的威力302
11.3.2合并两个数组303
11.3.3合并排序算法304
11.3.4合并排序的计算复杂度304
11.3.5比较N2与NlogN的性能306
11.4标准的复杂度分类307
11.5快速排序算法309
11.5.1划分数组310
11.5.2分析快速排序的性能311
11.6数学归纳313
11.7总结315
11.8复习题316
11.9习题317
第12章效率与表示方式323
12.1用于文本编辑的软件模式323
12.2设计一个简单的文本编辑器324
12.2.1编辑器命令324
12.2.2考虑底层的表示方式325
12.2.3对编辑器应用编码327
12.3基于数组的实现328
12.3.1定义私有数据结构329
12.3.2实现缓冲的操作329
12.3.3基于数组的编辑器的计算复杂度332
12.4基于栈的实现333
12.4.1定义私有数据结构333
12.4.2实现缓冲的操作333
12.4.3比较计算复杂度335
12.5基于表的实现336
12.5.1链表缓冲中的插入操作338
12.5.2链表缓冲中的删除操作340
12.5.3链表表示方式中的光标移动341
12.5.4完成缓冲的实现343
12.5.5链表缓冲区的计算复杂度345
12.5.6双向链表345
12.5.7时空权衡346
12.6总结346
12.7复习题347
12.8习题347
第13章线性结构351
13.1泛型351
13.1.1Java中泛型的实现351
13.1.2泛型的限制353
13.1.3GenericArray类354
13.2实现栈355
13.2.1用数组结构实现栈355
13.2.2用链表实现栈357
13.3实现队列361
13.3.1用数组实现队列362
13.3.2用链表实现队列366
13.4实现列表369
13.5翻倍策略的分析372
13.6总结373
13.7复习题374
13.8习题374
……
第14章映射表
第15章树
第16章集
第17章图
第18章表达式树
第19章将函数作为数据使用
索引

内容摘要
本书介绍如何使用Java语言编写程序,旨在通过介绍编程过程中遇到的难点和问题来拓宽读者的视野。本书结合具体的示例代码,由浅入深介绍解决编程问题的策略和方法,有助于读者快速入门Java语言编程。同时,每章后面都有配套的复习题和习题,便于读者理论联系实践,通过编程实践查漏补缺,温故而知新。本书适合作为计算机专业的教材,也适合希望学习Java语言的各个层次的读者阅读。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP