图书介绍

Java入门123 一个老鸟的Java学习心得 二维码版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Java入门123 一个老鸟的Java学习心得 二维码版
  • 臧萌,鲍凯编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302394686
  • 出版时间:2015
  • 标注页数:635页
  • 文件大小:84MB
  • 文件页数:663页
  • 主题词:JAVA语言-程序设计

PDF下载


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

下载说明

Java入门123 一个老鸟的Java学习心得 二维码版PDF格式电子书版下载

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

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

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

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

图书目录

第1篇 Java语言基本语法2

第1章 让自己的第一个Java程序跑起来(教学视频:19分钟)2

1.1 想要用Java改变这个世界吗?2

1.1.1 Java有什么优势?2

1.1.2 Java在哪儿?3

1.2 准备好开始Java之旅3

1.2.1 下载JDK4

1.2.2 安装JDK5

1.2.3 配置环境变量6

1.2.4 测试环境是否安装成功9

1.2.5 如果失败了怎么办?10

1.3 让自己的第一个程序运行起来11

1.3.1 编写自己的Hello World源程序11

1.3.2 编译自己的HelloWorld程序13

1.3.3 让代码运行起来15

1.4 手机上写程序15

1.4.1 安装AIDE15

1.4.2 编写手机上第一个程序16

1.4.3 使用书中的程序20

1.5 初探Hello World21

1.5.1 类(Class):Java世界中一类物体21

1.5.2 方法(Method):物体的功能22

1.5.3 main()方法:所有Java程序执行的起点22

1.6 名词解释23

1.6.1 JDK和Java平台23

1.6.2 Java编译(Java Compiler)23

1.6.3 Java类库(Java Class Libraries)24

1.6.4 Java虚拟机(Java Virtual Machine)24

1.6.5 HelloWorld的整个流程24

1.7 小结:我们学会了编译和运行一个Java程序!25

1.8 习题25

第2章 搭建自己的集成开发环境(教学视频:31分钟)26

2.1 安装集成开发环境26

2.1.1 集成开发环境有哪些26

2.1.2 安装Eclipse27

2.2 Eclipse界面介绍29

2.2.1 启动Eclipse29

2.2.2 Eclipse的Perspective31

2.2.3 Eclipse的菜单31

2.2.4 Eclipse的工具条31

2.2.5 Eclipse辅助视图区32

2.2.6 Eclipse中的Package Explorer32

2.2.7 Eclipse中的源代码编辑器32

2.2.8 Eclipse的设置窗口33

2.2.9 Eclipse中的其他视图33

2.3 如何使用Eclipse34

2.3.1 在Eclipse中创建自己的第一个项目34

2.3.2 在Eclipse中编写HelloWorld程序35

2.3.3 通过Eclipse运行Hello World37

2.4 小结:Eclipse——功能很强大38

2.5 习题38

第3章 Java中的基本数据类型和运算符(教学视频:65分钟)39

3.1 Java中的基本数据类型39

3.1.1 基本数据类型——编程语言中的数据原子39

3.1.2 Java中的基本数据类型介绍40

3.1.3 基本数据类型值域40

3.2 Java运算符42

3.2.1 变量的概念42

3.2.2 插曲:Java中的语句43

3.2.3 定义一个变量和变量名的规范43

3.2.4 Java中的基本运算符和表达式45

3.2.5 Java中的布尔运算符49

3.2.6 位运算符53

3.3 基本数据类型运算的难点54

3.3.1 强制类型转换——小数哪里去了54

3.3.2 类型的转换在运算中悄悄进行56

3.3.3 强制类型转换最优先58

3.3.4 等号其实不简单59

3.3.5 小心使用浮点数进行比较60

3.3.6 boolean和char61

3.3.7 不要使用还没有定义的变量63

3.3.8 String——char串起的项链65

3.3.9 转义符——看不见写得出68

3.4 小结:基本数据类型——Java中一切数据和运算的基础70

3.5 习题72

第4章 Java中的程序执行流程(教学视频:117分钟)73

4.1 顺序执行73

4.2 使用if-else让程序懂得判断74

4.2.1 if语句74

4.2.2 if语句的嵌套77

4.2.3 if-else语句79

4.2.4 if-else语句嵌套81

4.3 使用while进行循环82

4.3.1 使用while语句82

4.3.2 使用do-while语句85

4.4 使用for进行循环86

4.4.1 自增和自减操作86

4.4.2 for语句88

4.4.3 for语句省略形式90

4.5 语句中不能不说的事91

4.5.1 小心复杂语句中创建的变量91

4.5.2 别让循环次数给弄懵了93

4.5.3 循环的嵌套93

4.6 continue关键字与break关键字94

4.6.1 continue关键字95

4.6.2 break关键字96

4.7 使用switch进行跳转97

4.8 大例子101

4.8.1 从控制台读取数据101

4.8.2 结账程序中的循环103

4.9 小结:Java不是一个直肠子105

4.10 习题106

第5章 数组(教学视频:35分钟)107

5.1 什么是数组107

5.1.1 假设:如果需要逐个定义变量107

5.1.2 数组初探108

5.1.3 数组——物以类聚111

5.1.4 数组元素的值内有乾坤112

5.1.5 创建数组的简洁语法113

5.2 数组的“名”与“实”115

5.2.1 “名”与“实”分离的数组115

5.2.2 一“实”多“名”的数组116

5.2.3 一“实”多“名”带来的困惑118

5.3 多维数组121

5.3.1 什么是多维数组121

5.3.2 多维数组的实质122

5.4 数组大练兵130

5.4.1 轻松查询全班成绩130

5.4.2 轻松查询全校成绩不在话下131

5.4.3 杨辉三角133

5.5 小结:方便快速的数组136

5.6 习题136

第2篇 Java语言高级语法140

第6章 Java的类(Class)和对象(Object)(教学视频:59分钟)140

6.1 驾驶汽车向类(Class)的世界进发140

6.1.1 汽车带来的问题140

6.1.2 类的组成142

6.1.3 使用自定义的Car类144

6.1.4 类和对象147

6.1.5 源文件的存放149

6.1.6 理解引用151

6.1.7 null关键字153

6.2 巧妙使用类中的属性155

6.2.1 在类中给每个变量一个初始值155

6.2.2 定义自己的引用156

6.2.3 使用点操作符的技巧156

6.2.4 类的数组157

6.3 小结:Java其实是个类和对象的世界161

6.4 习题161

第7章 Java中的方法——给汽车丰富多彩的功能(教学视频:175分钟)162

7.1 方法:让汽车开动162

7.1.1 引出问题:开动汽车162

7.1.2 那么,方法到底是什么呢?163

7.1.3 方法调用过程初探164

7.2 Java普通方法的组成部分165

7.2.1 访问控制符:public166

7.2.2 返回值类型和关键字void166

7.2.3 方法名(Method Name)167

7.2.4 参数列表(ParameterList)167

7.2.5 方法体(Method Body)168

7.2.6 方法串串烧168

7.3 方法的参数:让汽车加速169

7.3.1 方法的参数:让汽车可以加速169

7.3.2 带参数的方法有何不同?170

7.3.3 让方法有多个参数171

7.4 返回值:汽车超速了吗?172

7.4.1 写一个有返回值的方法172

7.4.2 调用有返回值的方法173

7.4.3 发生了什么?如何使用方法的返回值?174

7.4.4 使用return结束方法174

7.5 方法重载(overload):给汽车加速添个限制176

7.5.1 什么是方法的签名176

7.5.2 什么是重载?为什么要重载?176

7.5.3 给汽车加个重载的方法177

7.5.4 测试一下177

7.5.5 重载容易引发误解的两个地方——返回类型和形参名178

7.5.6 重载中的最难点——参数匹配原则179

7.6 使用类的实例作为方法参数180

7.6.1 超车方法:使用类实例做参数180

7.6.2 调用这个方法181

7.6.3 发生了什么182

7.7 加餐:局部变量和实例变量183

7.7.1 什么是局部变量(Local Variable)184

7.7.2 什么是实例变量(Instance Variable)185

7.8 this关键字:指向对象自己的引用185

7.8.1 发现问题:当实例变量和局部变量重名186

7.8.2 经常深藏不露的this关键字186

7.8.3 在方法中调用方法188

7.9 构造方法(Constructor)189

7.9.1 构造(Constructor)方法初探189

7.9.2 如何使用构造方法190

7.9.3 留个无参数的构造方法——给重要属性赋初始值192

7.9.4 在构造方法中调用构造方法192

7.10 方法大汇总194

7.10.1 本例中用到的类194

7.10.2 使用例程将本章的知识穿起来197

7.11 小结:多方位理解Java方法199

7.12 习题201

第8章 Java中的包(Package)命名、习惯和注释(教学视频:43分钟)202

8.1 Java中的包(Package)202

8.1.1 Java中的包202

8.1.2 在Eclipse中使用包203

8.1.3 天上掉下个Package205

8.1.4 包带来了什么?206

8.2 import语句:化繁为简208

8.2.1 import语句209

8.2.2 一网打尽包中所有类210

8.2.3 import语句带来的小问题211

8.2.4 默认引入的包212

8.3 命名习惯大回顾213

8.4 Java中的注释214

8.4.1 使用双斜杠的单行注释214

8.4.2 多行注释215

8.4.3 Javadoc注释215

8.5 小结:包让Java的类更清晰优雅217

8.6 习题218

第9章 再看数组、字符串和main()方法(教学视频:29分钟)219

9.1 数组也是类219

9.1.1 得到数组的长度219

9.1.2 加餐:不可改变的final变量220

9.1.3 多维数组的长度221

9.1.4 一维数组的clone()方法221

9.1.5 当数组类型不再是基本数据类型223

9.1.6 多维数组的clone()方法226

9.2 老朋友String类230

9.2.1 遍历String中的字符230

9.2.2 获取字符串中的一部分232

9.2.3 判断两个字符串是否相等233

9.2.4 判断字符串的开头和结尾234

9.2.5 分割字符串235

9.2.6 在字符串中查找子字符串或字符236

9.2.7 替换字符串中的内容236

9.2.8 String对象——磐石刻字236

9.3 String类的最佳拍档——StringBuffer类237

9.3.1 StringBuffer:专业操纵字符237

9.3.2 String和StringBuffer一个都不能少239

9.4 最熟悉的陌生人:main()方法239

9.4.1 main()方法的参数239

9.4.2 static关键字242

9.4.3 当方法遇到static关键字243

9.5 小结:学会使用类中的方法245

9.6 习题246

第10章 继承和多态(教学视频:115分钟)247

10.1 继承——最优的解决方案247

10.1.1 饭前水果:实例变量的访问控制符247

10.1.2 一切还是从汽车开始248

10.1.3 一类车,一个类251

10.1.4 分开也有麻烦254

10.1.5 使用继承——问题迎刃而解255

10.1.6 使用Bus类258

10.1.7 Java中的单继承258

10.1.8 Java中的类图259

10.1.9 万类之祖——Obiect类260

10.2 子类对象?父类对象?261

10.2.1 父随子行262

10.2.2 当构造方法遇到继承264

10.2.3 记得给类一个无参数的构造方法265

10.2.4 调用父类中的构造方法266

10.2.5 对象也会“变脸”268

10.2.6 遵守语法,正确“变脸”272

10.3 覆盖——与继承如影随形274

10.3.1 当方法不再通用275

10.3.2 覆盖——让众口不再难调276

10.3.3 覆盖——到底调用了哪个方法280

10.3.4 覆盖的语法不简单282

10.3.5 更复杂的使用覆盖的情况284

10.3.6 覆盖——不得不打开的潘多拉魔盒287

10.3.7 使用super调用父类中的方法和属性289

10.4 多态(Polymorphism)以及其他290

10.4.1 多态——运行方知结果290

10.4.2 重载也不简单291

10.4.3 使用多态构建车队293

10.5 在多态的环境中拨开迷雾295

10.5.1 神秘的Class类295

10.5.2 覆盖不再神秘296

10.5.3 instanceof运算符——让对象告诉你它的类是谁297

10.6 小结:继承和多态让世界丰富多彩298

10.7 习题300

第11章 修饰符(Qualifier)(教学视频:26分钟)302

11.1 插曲:类的组成部分的名字302

11.2 类中的修饰符303

11.2.1 无修饰符类303

11.2.2 类的可见性304

11.2.3 final——让类不可被继承306

11.2.4 理解final关键字307

11.2.5 总结:类的修饰符308

11.3 方法的修饰符308

11.3.1 方法的访问控制符309

11.3.2 public:没有限制的修饰符310

11.3.3 protected:仅对子类和同包的类可见311

11.3.4 默认控制符:仅在本包中可见312

11.3.5 private:仅对本类可见314

11.3.6 理解4个访问控制符315

11.3.7 访问控制符可见性汇总317

11.3.8 访问控制符带来的覆盖问题317

11.3.9 final:不允许方法被覆盖321

11.3.10 重温静态方法322

11.3.11 静态方法——类范围里的概念323

11.3.12 静态方法何以为“静态”325

11.4 变量的修饰符328

11.4.1 变量方法皆成员328

11.4.2 变量的访问控制符329

11.4.3 使用private修饰类的成员变量329

11.4.4 使用private,然后呢?331

11.4.5 变量的覆盖334

11.4.6 使用final修饰成员变量337

11.4.7 静态成员变量338

11.4.8 局部变量的修饰符339

11.4.9 当final遇到引用类型成员变量339

11.5 小结:修饰符作用大341

11.6 习题342

第12章 接口(教学视频:29分钟)343

12.1 自行车带来的问题343

12.1.1 记录马路上的车辆343

12.1.2 引发问题的自行车347

12.1.3 仔细分析recordTransport()方法350

12.2 初用接口351

12.2.1 准备好需要用到的类351

12.2.2 认识接口的代码组成352

12.2.3 什么是接口353

12.2.4 使用接口仅需一步——实现接口354

12.2.5 接口——让类集多重类型于一身356

12.2.6 简化recordTransport()方法359

12.3 再探接口361

12.3.1 重温上节中的程序362

12.3.2 面向接口编程363

12.3.3 话说“抽象”365

12.3.4 接口大瘦身367

12.3.5 实现多个接口368

12.3.6 接口中的变量370

12.3.7 接口的继承371

12.3.8 匹配抽象方法中的类型372

12.3.9 空接口374

12.4 小结:接口的难点在于何时使用375

12.5 习题376

第13章 抽象类和内部类(教学视频:26分钟)378

13.1 抽象类(Abstract Class)378

13.1.1 不知道怎么打招呼的Person类378

13.1.2 当类中有了抽象方法381

13.1.3 抽象类语法详解381

13.1.4 理解抽象类的作用382

13.2 内部类的分类(Inner Class)383

13.2.1 成员内部类383

13.2.2 局部内部类385

13.3 成员内部类387

13.3.1 使用成员内部类387

13.3.2 成员内部类的修饰符388

13.3.3 在类外部使用内部类389

13.3.4 非静态内部类的特性391

13.3.5 外部类访问成员内部类中的属性395

13.3.6 静态成员内部类396

13.4 局部内部类398

13.4.1 局部内部类之“局部”398

13.4.2 局部内部类之“内部类”400

13.4.3 使用局部内部类402

13.5 匿名内部类(Anonymous inner classes)402

13.5.1 准备工作403

13.5.2 匿名内部类的语法403

13.5.3 通过接口使用匿名类404

13.5.4 通过抽象类使用匿名类405

13.6 类,这样一路走来405

13.7 小结:丰富多彩的类409

13.8 习题411

第14章 Java的异常处理机制(教学视频:36分钟)412

14.1 认识异常412

14.1.1 异常什么时候发生412

14.1.2 异常是什么415

14.1.3 Java异常机制的流程416

14.2 抛出异常417

14.2.1 异常类的父类——Throwable417

14.2.2 在代码中使用throw抛出一个异常419

14.2.3 在方法声明中使用throws421

14.2.4 构造自定义异常类423

14.2.5 使用自定义异常类424

14.3 异常的传递425

14.3.1 抛出最确切的异常类型425

14.3.2 Java异常的传递427

14.3.3 图说Java异常的传递429

14.4 异常的处理433

14.4.1 把异常捉住433

14.4.2 图说异常处理流程436

14.4.3 多类异常,一并处理439

14.4.4 try-catch-finally语句441

14.4.5 try-finally语句446

14.4.6 好好利用catch语句447

14.5 异常的类型448

14.5.1 3个类的继承关系449

14.5.2 必须处理的Exception类449

14.5.3 灵活掌握的RuntimeException类450

14.5.4 不用处理的Error类450

14.6 小结:终止错误的蔓延451

14.7 习题452

第15章 多线程编程(教学视频:74分钟)453

15.1 线程——执行代码的机器453

15.1.1 线程——执行代码的基本单位453

15.1.2 演奏会模型455

15.2 Java中的线程编程458

15.2.1 线程类Thread458

15.2.2 覆盖Thread类的run()方法459

15.2.3 使用Runnable接口461

15.2.4 两个线程463

15.3 深入学习Thread类464

15.3.1 线程的名字464

15.3.2 得到当前的线程466

15.3.3 让线程“沉睡”469

15.4 多个线程的故事472

15.4.1 一个有多个线程的程序473

15.4.2 复印社模型475

15.4.3 一个简单的复印社例程477

15.5 多个线程的同步479

15.5.1 线程同步之synchronized关键字479

15.5.2 深入学习synchronized关键字484

15.5.3 静态同步方法485

15.5.4 非静态的同步方法488

15.5.5 银行的麻烦——账户乱套了490

15.5.6 多角度理解同步方法497

15.5.7 闲话同步方法的使用500

15.5.8 同步代码块501

15.5.9 锁(Lock)502

15.5.10 线程同步之wait()和notify()方法504

15.5.11 wait和notify的顺序507

15.6 小结:线程——代码执行器510

15.7 习题511

第3篇 Java语言编程进阶514

第16章 如何学习本篇(教学视频:15分钟)514

16.1 多想多写多练514

16.2 术业有专攻514

16.3 拆分问题,逐个击破516

16.4 阅读Javadoc516

16.5 小结:大练兵马上开始522

16.6 习题523

第17章 编程常用知识(教学视频:18分钟)524

17.1 再谈对象的比较524

17.1.1 hashcode()方法524

17.1.2 equals()方法525

17.1.3 对象的比较equals()方法525

17.2 Java中的集合类框架526

17.2.1 集合类框架中的接口526

17.2.2 List接口527

17.2.3 使用ArrayList528

17.2.4 Set接口532

17.2.5 使用HashSet类533

17.2.6 List与Set534

17.3 泛型简介534

17.3.1 没有泛型时的程序535

17.3.2 使用泛型——避免强制类型转换536

17.4 Map接口538

17.4.1 认识Map538

17.4.2 使用HashMap539

17.5 字符集和编码540

17.5.1 字符集541

17.5.2 编码541

17.5.3 关于字符集的小程序542

17.6 小结:编程需要打好基础545

17.7 习题546

第18章 Java文件编程和Java文件I/O(教学视频:9分钟)548

18.1 Java中的文件编程548

18.1.1 File类548

18.1.2 创建和删除文件549

18.1.3 列出文件和文件夹550

18.1.4 重命名文件552

18.2 Java的I/O编程553

18.2.1 理解Java的Stream553

18.2.2 向文件中写入数据555

18.2.3 从文件中读取数据557

18.2.4 从控制台读取数据558

18.2.5 使用输出流写入数据561

18.2.6 使用输入流读取数据562

18.3 小结:Java中的文件类和输入/输出机制563

18.4 习题564

第19章 Java Socket编程(教学视频:8分钟)565

19.1 IP地址和端口号565

19.1.1 IP地址——计算机的标识565

19.1.2 端口号——通信的窗口566

19.1.3 网络,IP地址和端口号568

19.2 Java TCP编程568

19.2.1 数据传输协议569

19.2.2 TCP的数据传输模式569

19.2.3 第一个TCP小程序570

19.3 Java UDP编程574

19.3.1 UDP的数据传输模式574

19.3.2 使用UDP协议收发数据575

19.3.3 TCP和UDP的区别577

19.4 小结:让程序伸向整个网络578

19.5 习题578

第20章 Java Swing编程(教学视频:14分钟)579

20.1 Java Swing编程简介579

20.1.1 图形用户界面编程简介579

20.1.2 组件580

20.1.3 布局管理器(Layout Manager)580

20.1.4 事件处理(Event Handling)581

20.2 Swing基本组件582

20.2.1 窗口(JFrame)582

20.2.2 Swing的线程584

20.2.3 Swing组件的鼻祖——JComponent584

20.2.4 Swing面板类585

20.2.5 Swing中的标签585

20.2.6 Swing中的文本框587

20.2.7 Swing中的文本域588

20.2.8 Swing中的组合框589

20.2.9 Swing中的按钮590

20.3 Swing的布局管理器591

20.3.1 最简单的FlowLayout591

20.3.2 东南西北中之BorderLayout591

20.3.3 平均分割之——GridLayout593

20.3.4 最强大的布局管理器——GridBagLayout594

20.3.5 使用多个布局管理器597

20.4 Swing的事件处理598

20.4.1 事件的传递和封装598

20.4.2 事件监听器——事件的处理者599

20.4.3 Swing事件处理的机制601

20.4.4 事件监听器的编写603

20.4.5 如何学习更多的事件605

20.5 小结:从此不再依赖控制台605

20.6 习题606

第21章 编程,需要的是想象力和恒心(教学视频:13分钟)607

21.1 编程的前奏607

21.1.1 细数手中的积木607

21.1.2 发挥想象力608

21.1.3 确定程序的功能609

21.2 聊天窗口程序609

21.2.1 聊天程序设计609

21.2.2 设计程序运行效果611

21.2.3 UDP消息收发模块613

21.2.4 图形用户界面模块616

21.2.5 消息处理模块618

21.2.6 一个更通用的聊天程序619

21.3 小结:编程是必不可少的锻炼620

21.4 习题621

第22章 JDBC入门(教学视频:11分钟)622

22.1 JDBC的基本API622

22.1.1 JDBC是什么622

22.1.2 DriverManager——驱动管理器624

22.1.3 Connection接口625

22.1.4 Statement接口625

22.1.5 PreparedStatement接口625

22.1.6 ResultSet接口626

22.1.7 数据库驱动626

22.2 一个操作数据库的简单程序627

22.2.1 程序的执行结果627

22.2.2 程序设计与模块划分628

22.2.3 准备好数据源629

22.2.4 数据库操作模块的实现630

22.2.5 图形用户界面模块的实现630

22.3 小结:强大的JDBC标准632

22.4 习题633

后记634

热门推荐