图书介绍

Java语言的科学与艺术【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Java语言的科学与艺术
  • (美)Eric S.Roberts著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302184416
  • 出版时间:2009
  • 标注页数:457页
  • 文件大小:114MB
  • 文件页数:473页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Java语言的科学与艺术PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 前言1

1.1计算简史1

1.2计算机科学的含义3

1.3计算机硬件简介4

1.3.1CPU5

1.3.2内存5

1.3.3辅助存储器5

1.3.4输入/输出(I/O)设备5

1.3.5网络5

1.4算法6

1.5编程过程的几个阶段6

1.5.1创建和编程序7

1.5.2编译过程7

1.5.3编程错误与调试9

1.5.4软件维9

1.6 Java和面向对象范例10

1.6.1面向对象编程的历史11

1.6.2 Java编程语言11

1.7 Java和WWW14

1.8小结15

1.9复习题16

第2章 编程示例17

2.1 “Hello world”程序18

2.1.1注释19

2.1.2输入19

2.1.3 主类19

2.2编程过程的观点21

2.3两数相加的程序22

2.4编程习语和模式25

2.5类和对象26

2.5.1类的层次结构27

2.5.2 Program类的层次结构28

2.6图形程序29

2.6.1 HelloProgram示例回顾29

2.6.2向GObjects发送消息30

2.6.3 GObject类的层次结构32

2.6.4 GRect类33

2.6.5 GOval类36

2.6.6 GLine类37

2.7小结38

2.8复习题39

2.9编程练习40

第3章 表达式43

3.1原始数据类型44

3.2常量与变量45

3.2.1常量45

3.2.2变量46

3.2.3声明47

3.2.4命名常量48

3.3运算符和操作数48

3.3.1合并整数和浮点数49

3.3.2整数除法和余数运算符50

3.3.3优先级50

3.3.4应用优先级规则52

3.3.5类型转换53

3.4赋值语句55

3.4.1简写赋值运算符57

3.4.2递增运算符和递减运算符58

3.5布尔表达式58

3.5.1关系运算符58

3.5.2逻辑运算符59

3.5.3短路赋值61

3.5.4标记62

3.5.5Boolean计算示例62

3.6设计改变63

3.6.1可读性的重要性63

3.6.2使用命名常量支持程序维护64

3.6.3使用命名常量支持程序开发64

3.7小结66

3.8复习题68

3.9编程练习69

第4章 语句形式73

4.1 Java的语句类型74

4.1.1简单语句74

4.1.2复合语句75

4.1.3控制语句76

4.2控制语句和问题解决76

4.2.1一般化Add2lntegers程序77

4.2.2重复N次模式78

4.2.3“读取到指定条件为止”模式79

4.3 if语句80

4.3.1单行if语句82

4.3.2多行if语句82

4.3.3if-else语句83

4.3.4级联if语句83

4.3.5?:运算符84

4.4 switch语句85

4.5 while语句88

4.5.1使用while循环88

4.5.2无限循环90

4.5.3解决“循环到中途”问题90

4.6 for语句92

4.6.1 for和while之间的关系94

4.6.2在浮点数据中使用for语句95

4.6.3嵌套for语句96

4.6.4简单的图形动画97

4.7小结99

4.8复习题100

4.9编程练习100

第5章 方法105

5.1方法概述105

5.1.1作为降低复杂性机制的方法106

5.1.2作为编程人员工具而不是用户工具的方法106

5.1.3作为表达式的方法调用107

5.1.4作为消息的方法调用108

5.2编写自己的方法109

5.2.1方法定义的格式109

5.2.2 return语句110

5.2.3包含内部控制结构的方法111

5.2.4返回非数字值的方法112

5.2.5断言方法115

5.3方法调用过程的技巧116

5.3.1参数传递117

5.3.2从其他方法内调用方法120

5.4分解126

5.4.1逐步细化126

5.4.2指定参数128

5.4.3自顶向下设计129

5.4.4寻找共同特征130

5.4.5完成分解131

5.5算法方法132

5.5.1“强力”方法132

5.5.2欧几里得算法133

5.5.3讨论欧几里得算法的正确性133

5.5.4两种算法的效率比较134

5.6小结135

5.7复习题135

5.8编程练习136

第6章 对象和类141

6.1使用RandomGenerator类142

6.1.1伪随机数142

6.1.2使用RandomGenerator类143

6.1.3随机数种子的作用145

6.2 javadoc文档系统146

6.3定义自己的类149

6.3.1类定义的结构149

6.3.2控制条目的可见性150

6.3.3封装150

6.4表示学生信息150

6.4.1声明实例变量151

6.4.2完成类定义151

6.4.3编写javadoc注释154

6.4.4写构造函数154

6.4.5 getters and setters155

6.4.6 toString方法155

6.4.7定义类中的命名常量156

6.4.8使用Student类156

6.5有理数157

6.6扩展现有类161

6.6.1创建类表示实心三角形161

6.6.2继承构造函数的规则165

6.6.3继承方法的规则165

6.7小结167

6.8复习题168

6.9编程练习169

第7章 对象和内存175

7.1内存结构176

7.1.1位、字节和字176

7.1.2二进制和十六进制表示法176

7.1.3内存地址178

7.2将内存分配给变量179

7.2.1 Rational类的内存图180

7.2.2无用单元收集184

7.3原始类型与对象185

7.3.1参数传递185

7.3.2包装类187

7.3.3装箱和拆箱189

7.4链接对象190

7.4.1链接结构里的消息传递:Gondor灯塔191

7.4.2链接结构的内部表示法193

7.5小结194

7.6复习题195

7.7编程练习195

第8章 字符串和字符199

8.1枚举的原则200

8.1.1在计算机内部表示枚举类型200

8.1.2将枚举类型作为整数表示201

8.1.3定义新的枚举类型202

8.2字符203

8.2.1 char数据类型203

8.2.2 ASCII和Unicode编码系统203

8.2.3字符常量205

8.2.4 Unicode表示法的重要属性205

8.2.5特殊字符206

8.2.6字符算法207

8.2.7 Character类中有用的方法208

8.2.8包含字符的控制语句209

8.3作为抽象概念的字符串210

8.3.1从整体和简化论的观点考察字符串210

8.3.2抽象类型的概念210

8.4使用String类中的方法211

8.4.1确定字符串长度212

8.4.2从字符串中选择字符212

8.4.3串联213

8.4.4摘录部分字符串&21.5

8.4.5比较两个字符串215

8.4.6在字符串内搜索216

8.4.7大小写字母转换217

8.5字符串处理案例研究218

8.5.1应用自顶向下设计218

8.5.2实现translateLine219

8.5.3考虑空格和标点符号220

8.5.4 StringTokenizer类222

8.5.5完成实现223

8.6小结226

8.7复习题227

8.8编程练习228

第9章 面向对象图形237

9.1 acm.graphics模型238

9.2 acm.graphics程序包的结构238

9.2.1 GCanvas类239

9.2.2 Color类的更多细节241

9.2.3 GPoint类、GDimension类和GRectangle类241

9.2.4 GMath类242

9.2.5 GObject类及其子类243

9.3使用形状类246

9.3.1 GLabel类246

9.3.2 GRect类及其子类(GRoundRect和G3DRect)248

9.3.3 GOval类249

9.3.4 GLine类249

9.3.5 GArc类250

9.3.6 GImage类253

9.3.7 GPolygon类257

9.4创建复合对象262

9.4.1简单的GCompound示例263

9.4.2 GCompound坐标系265

9.4.3使用GCompound的对象分解265

9.4.4嵌套GCompound对象269

9.5小结270

9.6复习题271

9.7编程练习272

第10章 事件驱动程序279

10.1 Java事件模型280

10.2简单的事件驱动程序281

10.3响应鼠标事件283

10.3.1 MouseListener和MouseMotionListener接口283

10.3.2重写侦听器方法283

10.3.3画线程序284

10.3.4在画布上拖动对象286

10.4响应键盘事件288

10.5创建简单的GUI289

10.6 Swing交互器层次结构291

10.6.1 JButton类292

10.6.2 JToggleButton类293

10.6.3 JCheckBox类293

10.6.4 JRadioButton类和ButtonGroup类295

10.6.5 JSlider类和JLabel类296

10.6.6 JComboBox类297

10.6.7 JTextField类、IntField类和DoubleField类300

10.7管理组件布局304

10.7.1 Java窗口层次结构304

10.7.2布局管理器305

10.7.3 BorderLayout布局管理器305

10.7.4 FlowLayout布局管理器307

10.7.5 GridLayout布局管理器308

10.7.6标准布局管理器的不足309

10.8使用TableLayout类309

10.8.1比较GridLayout与TableLayout310

10.8.2使用TableLayout创建温度转换器310

10.8.3指定约束312

10.8.4使用TableLayout创建简单的计算器313

10.9小结319

10.10复习题320

10.11编程练习321

第11章 数组与ArrayList类327

11.1数组简介328

11.1.1数组声明328

11.1.2数组选择329

11.1.3简单数组的示例330

11.1.4改变索引范围331

11.1.5对象的数组332

11.1.6在图形程序中使用数组332

11.1.7++和--运算符的区别334

11.2数组的内部表示法335

11.3数组作为参数传递337

11.4使用数组制作表格341

11.5数组初始化343

11.6多维数组344

11.6.1将多维数组传递给方法345

11.6.2初始化多维数组346

11.7图像处理346

11.7.1图像的表示方式346

11.7.2使用GImage类操作图像347

11.7.3位操作348

11.7.4使用位操作分解像素组件350

11.7.5创建灰度图像350

11.7.6通过平均使图像变得平滑351

11.7.7隐藏复杂性353

11.8 ArrayList类354

11.9小结358

11.10复习题359

11.11编程练习360

第12章 搜索与排序369

12.1搜索370

12.1.1在整数数组中搜索370

12.1.2搜索表370

12.1.3折半搜索373

12.1.4搜索算法的相对效率375

12.2排序376

12.2.1给整数数组排序376

12.2.2选项排序算法377

12.2.3评估选项排序的效率379

12.2.4测量程序的运行时间380

12.2.5分析选项排序算法381

12.2.6基数排序算法382

12.3评估算法效率384

12.3.1 big-O表示法385

12.3.2 big-O的标准简化385

12.3.3选项排序计算的复杂性385

12.3.4根据代码结构预测计算的复杂性386

12.3.5最坏情况与一般情况的复杂性387

12.4使用数据文件388

12.4.1文件的概念388

12.4.2阅读Java中的文本文件389

12.4.3异常处理391

12.4.4倒转文件的程序393

12.4.5交互地选择文件394

12.4.6使用Scanner类395

12.4.7输出文件397

12.5小结397

12.6复习题398

12.7编程练习400

第13章 数组与ArrayList类405

13.1 ArrayList类回顾406

13.1.1动态分配的能力406

13.1.2区分表示法和行为408

13.2 HashMap类409

13.2.1映射的简单示例409

13.2.2探讨可能的实现策略410

13.2.3实现O(1)性能411

13.2.4散列法思想412

13.2.5散列码412

13.2.6复制散列码413

13.2.7映射类的简单实现413

13.2.8实现hashCode方法416

13.2.9调整存储区的数量418

13.3 Java集合架构418

13.3.1 Java集合架构的结构419

13.3.2 Collection层次结构420

13.3.3区分行为和表示法421

13.3.4迭代器422

13.3.5 Arrays和Collections方法库424

13.4面向对象设计的原则426

13.4.1统一主题的重要性427

13.4.2简单和信息隐藏的原则428

13.4.3满足客户的需要428

13.4.4灵活性的好处429

13.4.5稳定的意义429

13.5小结430

13.6复习题430

13.7编程练习431

第14章 展望435

14.1递归436

14.1.1递归的简单示例436

14.1.2 Factorial函数437

14.1.3信任的递归式跳跃440

14.1.4递归的范例441

14.1.5图形递归442

14.1.6递归式思考444

14.2并发445

14.2.1进程与线程445

14.2.2并发的简单示例445

14.3使用网络448

14.4编程模式448

14.4.1模型/视图/控制器模式449

14.4.2说明性示例:用图表示电子数据表的数据449

14.5小结453

14.6复习题454

14.7编程练习454

热门推荐