图书介绍

Java语言程序设计与数据结构 基础篇 Comprehensive version2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Java语言程序设计与数据结构 基础篇 Comprehensive version
  • (美)梁勇(Y. Daniel Liang)著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111600749
  • 出版时间:2018
  • 标注页数:670页
  • 文件大小:104MB
  • 文件页数:693页
  • 主题词:JAVA语言-程序设计-教材;数据结构-教材

PDF下载


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

下载说明

Java语言程序设计与数据结构 基础篇 Comprehensive versionPDF格式电子书版下载

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

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

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

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

图书目录

第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.5 Java、万维网以及其他9

1.6 Java语言规范、API、JDK、JRE和IDE10

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 逻辑错误19

1.10.4 常见错误19

1.11 使用NetBeans开发Java程序20

1.11.1 创建Java工程21

1.11.2 创建Java类22

1.11.3 编译和运行类22

1.12 使用Eclipse开发Java程序23

1.12.1 创建Java工程23

1.12.2 创建Java类24

1.12.3 编译和运行类24

关键术语25

本章小结26

测试题27

编程练习题27

第2章 基本程序设计29

2.1 引言29

2.2 编写简单的程序29

2.3 从控制台读取输入32

2.4 标识符35

2.5 变量35

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

2.7 命名常量38

2.8 命名习惯39

2.9 数值数据类型和操作39

2.9.1 数值类型39

2.9.2 从键盘读取数值40

2.9.3 数值操作符40

2.9.4 幂运算42

2.10 数值型字面值43

2.10.1 整型字面值43

2.10.2 浮点型字面值43

2.10.3 科学记数法44

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

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

2.13 增强赋值操作符47

2.14 自增和自减操作符48

2.15 数值类型转换50

2.16 软件开发过程52

2.17 示例学习:整钱兑零55

2.18 常见错误和陷阱57

关键术语59

本章小结60

测试题60

编程练习题60

第3章 选择65

3.1 引言65

3.2 boolean数据类型65

3.3 if语句67

3.4 双分支if-else语句69

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

3.6 常见错误和陷阱72

3.7 产生随机数75

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

3.9 示例学习:计算税率78

3.10 逻辑操作符81

3.11 示例学习:判定闰年84

3.12 示例学习:彩票85

3.13 switch语句87

3.14 条件操作90

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

3.16 调试92

关键术语93

本章小结93

测试题94

编程练习题94

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

4.1 引言102

4.2 常用数学函数103

4.2.1 三角函数方法103

4.2.2 指数函数方法103

4.2.3 取整方法104

4.2.4 min、max和abs方法104

4.2.5 random方法105

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

4.3 字符数据类型和操作107

4.3.1 Unicode和ASCII码107

4.3.2 特殊字符的转义序列108

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

4.3.4 字符的比较和测试109

4.4 String类型111

4.4.1 获取字符串长度112

4.4.2 从字符串中获取字符112

4.4.3 连接字符串113

4.4.4 字符串的转换113

4.4.5 从控制台读取字符串114

4.4.6 从控制台读取字符114

4.4.7 字符串比较115

4.4.8 获得子字符串116

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

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

4.5 示例学习120

4.5.1 猜测生日120

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

4.5.3 使用字符串修改彩票程序124

4.6 格式化控制台输出126

关键术语129

本章小结129

测试题130

编程练习题130

第5章 循环136

5.1 引言136

5.2 while循环137

5.3 示例学习:猜数字139

5.4 循环设计策略142

5.5 使用用户确认或者标记值控制循环144

5.6 do-while循环146

5.7 for循环148

5.8 采用哪种循环151

5.9 嵌套循环153

5.10 最小化数值错误155

5.11 示例学习156

5.11.1 求最大公约数156

5.11.2 预测未来学费158

5.11.3 将十进制数转换为十六进制数158

5.12 关键字break和continue160

5.13 示例学习:判断回文163

5.14 示例学习:显示素数164

关键术语167

本章小结167

测试题167

编程练习题167

第6章 方法176

6.1 引言176

6.2 定义方法177

6.3 调用方法178

6.4 void方法与返回值方法180

6.5 按值传参183

6.6 模块化代码186

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

6.8 重载方法190

6.9 变量的作用域192

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

6.11 方法抽象和逐步求精195

6.11.1 自顶向下的设计196

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

6.11.3 实现细节199

6.11.4 逐步求精的优势201

关键术语202

本章小结202

测试题203

编程练习题203

第7章 一维数组212

7.1 引言212

7.2 数组的基础知识212

7.2.1 声明数组变量213

7.2.2 创建数组213

7.2.3 数组大小和默认值214

7.2.4 访问数组元素214

7.2.5 数组初始化简写方式215

7.2.6 处理数组215

7.2.7 foreach循环217

7.3 示例学习:分析数字219

7.4 示例学习:一副牌220

7.5 复制数组222

7.6 将数组传递给方法223

7.7 方法返回数组226

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

7.9 可变长参数列表230

7.10 数组的查找230

7.10.1 线性查找法231

7.10.2 二分查找法231

7.11 数组的排序234

7.12 Arrays类235

7.13 命令行参数237

7.13.1 向main方法传递字符串237

7.13.2 示例学习:计算器238

关键术语239

本章小结240

测试题240

编程练习题240

第8章 多维数组248

8.1 引言248

8.2 二维数组基础248

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

8.2.2 获取二维数组的长度250

8.2.3 不规则数组250

8.3 处理二维数组251

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

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

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

8.7 示例学习:数独257

8.8 多维数组260

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

8.8.2 示例学习:猜生日263

本章小结264

测试题264

编程练习题264

第9章 对象和类276

9.1 引言276

9.2 为对象定义类277

9.3 示例:定义类和创建对象278

9.4 使用构造方法构造对象283

9.5 通过引用变量访问对象284

9.5.1 引用变量和引用类型284

9.5.2 访问对象的数据和方法285

9.5.3 引用数据域和null值285

9.5.4 基本类型变量和引用类型变量的区别286

9.6 使用Java库中的类288

9.6.1 Date类288

9.6.2 Random类289

9.6.3 Point2D类289

9.7 静态变量、常量和方法291

9.8 可见性修饰符296

9.9 数据域封装297

9.10 向方法传递对象参数300

9.11 对象数组303

9.12 不可变对象和类305

9.13 变量的作用域307

9.14 this引用308

9.14.1 使用this引用数据域308

9.14.2 使用this调用构造方法309

关键术语310

本章小结311

测试题311

编程练习题311

第10章 面向对象思考316

10.1 引言316

10.2 类的抽象和封装316

10.3 面向对象的思想320

10.4 类的关系322

10.4.1 关联323

10.4.2 聚集和组合324

10.5 示例学习:设计Course类325

10.6 示例学习:设计栈类327

10.7 将基本数据类型值作为对象处理329

10.8 基本类型和包装类类型之间的自动转换332

10.9 BigInteger和BigDecimal类333

10.10 String类334

10.10.1 构造字符串335

10.10.2 不可变字符串与驻留字符串335

10.10.3 替换和拆分字符串336

10.10.4 使用模式匹配、替换和拆分336

10.10.5 字符串与数组之间的转换337

10.10.6 将字符和数值转换成字符串338

10.10.7 格式化字符串338

10.11 StringBuilder类和StringBuffer类340

10.11.1 修改StringBuilder中的字符串341

10.11.2 toString、capacity、length、setLength和charAt方法343

10.11.3 示例学习:判断回文串时忽略既非字母又非数字的字符343

关键术语346

本章小结346

测试题346

编程练习题346

第11章 继承和多态354

11.1 引言354

11.2 父类和子类354

11.3 使用super关键字360

11.3.1 调用父类的构造方法360

11.3.2 构造方法链361

11.3.3 调用父类的普通方法362

11.4 方法重写363

11.5 方法重写与重载364

11.6 Object类及其toString()方法366

11.7 多态366

11.8 动态绑定367

11.9 对象转换和instanceof操作符370

11.10 Object类的equals方法374

11.11 ArrayList类375

11.12 关于列表的一些有用方法381

11.13 示例学习:自定义栈类382

11.14 protected数据和方法383

11.15 防止继承和重写385

关键术语386

本章小结386

测试题387

编程练习题387

第12章 异常处理和文本I/O391

12.1 引言391

12.2 异常处理概述392

12.3 异常类型396

12.4 关于异常处理的更多讨论398

12.4.1 声明异常399

12.4.2 抛出异常399

12.4.3 捕获异常400

12.4.4 从异常中获取信息401

12.4.5 示例学习:声明、抛出和捕获异常403

12.5 finally子句406

12.6 何时使用异常407

12.7 重新抛出异常408

12.8 链式异常409

12.9 创建自定义异常类410

12.10 File类412

12.11 文件输入和输出415

12.11.1 使用PrintWriter写数据415

12.11.2 使用try-with-resources自动关闭资源416

12.11.3 使用Scanner读取数据417

12.11.4 Scanner如何工作418

12.11.5 示例学习:替换文本419

12.12 从Web上读取数据421

12.13 示例学习:Web爬虫423

关键术语425

本章小结426

测试题426

编程练习题426

第13章 抽象类和接口431

13.1 引言431

13.2 抽象类431

13.2.1 为何使用抽象方法434

13.2.2 抽象类的几点说明435

13.3 示例学习:抽象的Number类436

13.4 示例学习:Calendar和GregorianCalendar438

13.5 接口441

13.6 Comparable接口444

13.7 Cloneable接口448

13.8 接口与抽象类453

13.9 示例学习:Rational类456

13.10 类的设计原则461

13.10.1 内聚性461

13.10.2 一致性461

13.10.3 封装性461

13.10.4 清晰性462

13.10.5 完整性462

13.10.6 实例和静态462

13.10.7 继承和聚合463

13.10.8 接口和抽象类463

关键术语463

本章小结464

测试题464

编程练习题464

第14章 JavaFX基础468

14.1 引言468

14.2 JavaFX与Swing以及AWT的比较468

14.3 JavaFX程序的基本结构469

14.4 面板、组、UI组件以及形状471

14.5 属性绑定474

14.6 结点的共同属性和方法477

14.7 Color类478

14.8 Font类479

14.9 Image和ImageView类481

14.10 布局面板和组483

14.10.1 FlowPane484

14.10.2 GridPane486

14.10.3 BorderPane488

14.10.4 HBox和VBox489

14.11 形状491

14.11.1 Text492

14.11.2 Line493

14.11.3 Rectangle494

14.11.4 Circle和Ellipse496

14.11.5 Arc498

14.11.6 Polygon和Polyline501

14.12 示例学习:ClockPane类503

关键术语508

本章小结508

测试题509

编程练习题509

第15章 事件驱动编程和动画514

15.1 引言514

15.2 事件和事件源516

15.3 注册处理器和处理事件517

15.4 内部类521

15.5 匿名内部类处理器522

15.6 使用lambda表达式简化事件处理525

15.7 示例学习:贷款计算器528

15.8 鼠标事件530

15.9 键盘事件531

15.10 可观察对象的监听器535

15.11 动画536

15.11.1 PathTransition537

15.11.2 FadeTransition540

15.11.3 Timeline541

15.12 示例学习:弹球544

15.13 示例学习:美国地图547

关键术语550

本章小结550

测试题551

编程练习题551

第16章 JavaFX UI组件和多媒体557

16.1 引言557

16.2 Labeled和Label558

16.3 Button560

16.4 CheckBox562

16.5 RadioButton564

16.6 TextField567

16.7 TextArea569

16.8 ComboBox572

16.9 ListView575

16.10 ScrollBar578

16.11 Slider580

16.12 示例学习:开发一个井字游戏583

16.13 视频和音频588

16.14 示例学习:国旗和国歌591

本章小结593

测试题593

编程练习题593

第17章 二进制I/O600

17.1 引言600

17.2 在Java中如何处理文本I/O600

17.3 文本I/O与二进制I/O601

17.4 二进制I/O类603

17.4.1 FileInputStream和FileOutputStream604

17.4.2 FilterInputStream和FilterOutputStream606

17.4.3 DataInputStream和DataOutputStream606

17.4.4 BufferedInputStream和BufferedOutputStream609

17.5 示例学习:复制文件612

17.6 对象I/O614

17.6.1 Serializable接口616

17.6.2 序列化数组617

17.7 随机访问文件618

关键术语621

本章小结621

测试题622

编程练习题622

第18章 递归625

18.1 引言625

18.2 示例学习:计算阶乘626

18.3 示例学习:计算斐波那契数629

18.4 使用递归解决问题631

18.5 递归辅助方法633

18.5.1 递归选择排序634

18.5.2 递归二分查找634

18.6 示例学习:获取目录的大小635

18.7 示例学习:汉诺塔637

18.8 示例学习:分形640

18.9 递归与迭代643

18.10 尾递归644

关键术语645

本章小结645

测试题646

编程练习题646

附录A Java关键字653

附录B ASCII字符集654

附录C 操作符优先级表655

附录D Java修饰符656

附录E 特殊浮点值657

附录F 数系658

附录G 位操作符662

附录H 正则表达式663

附录I 枚举类型667

热门推荐