大话Java:程序设计从入门到精通pdf下载pdf下载

大话Java:程序设计从入门到精通百度网盘pdf下载

作者:
简介:本篇主要提供大话Java:程序设计从入门到精通pdf下载
出版社:电子工业出版社
出版时间:2018-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

内容简介

本书采用由浅入深、与实际应用紧密结合的方式,利用大量典型生动的范例,详细讲解了 Java 编程的各种基本技术。本书的范例全部基于全新的JDK9 版本。本书内容包括:创建和运行Java 程序的基本方法、Java语言的基本语法、数据类型和变量、操作符、流程控制、继承、Java语言中的修饰符、接口、异常处理、对象的生命周期、内部类、多线程、数组、集合、输入输出、图形用户界面和访问数据库。

本书还介绍了JDK9 的一些新特性,包括JShell 命令及Java类库的模块化等。

本书别出心裁,引入了中国传统文化中家喻户晓的《西游记》中的人物孙悟空,以他学习Java 语言为主线,以模拟《西游记》中的种种传奇故事及实现各种有趣的实际应用为案例,带领读者逐步领略Java

语言的种种神通妙用,大大增加了书的趣味性。

书中实例源文件请到JavaThinker.net 网站上下载,网址为:http://www.javathinker.org/funnyjava.jsp。

本书主要面向所有的Java初学者。本书还可作为高校的Java 教材,以及企业Java培训教材,也可作为Oracle公司OCJP 认证的辅导教材。


作者简介

孙卫琴,知名IT作家和Java专家,毕业于上海交通大学,随后主要从事基于Java的软件开发工作,在此其间还从事Java方面的培训和咨询工作。2002年开始Java技术领域的创作,文风清晰严谨、深入浅出,深受读者欢迎,其多部作品的销量在同类书籍中一度位居全国榜首。代表著作有:

《Java面向对象编程》

<<精通Hibernate: Java对象持久化技术详解>>

<<精通Struts: 基于MVC的Java Web设计与开发>>


内页插图

目录

第 1 章编程入门一点通1

1.1 初识高级编程语言1

1.2 跨越平台无障碍,Java语言显身手3

1.3 编写面向对象的Java 源程序5

1.3.1 定义 Monkey类5

1.3.2 创建 Monkey对象6

1.3.3 程序入口 main()方法8

1.4 编译和运行Java程序9

1.4.1 JDK简介9

1.4.2 本范例的目录结构11

1.4.3 编译 Java源程序11

1.4.4 运行 Java程序12

1.4.5 创建用于编译和运行 Java程序的批处理文件13

1.5 用JDeveloper软件来开发Java应用13

1.6 小结15

1.7 编程实战:八戒用餐怀感恩16

第2 章基本语法了如指掌19

2.1 Java 源文件结构19

2.2 关键字20

2.3 标识符21

2.4 Java 语言大小写敏感22

2.5 包声明语句22

2.6 包引入语句24

2.7 方法的声明26

2.8 注释语句27

2.9 编程规范28

2.10 JavaDoc文档28

2.11 直接用JDK来编译和运行本章范例29

2.12 用JDeveloper来编译和运行本章范例31

2.13 用Eclipse来编译和运行本章范例33

2.14 Java 类库模块化36

2.15 使用JShell交互式编程界面38

2.16 小结40

2.17 编程实战:八戒吃瓜美滋滋41

第3 章数据类型齐争艳43

3.1 基本类型44

3.1.1 boolean类型44

3.1.2 byte、short、int和long类型45

3.1.3 char类型与字符编码46

3.1.4 float和double类型47

3.2 引用类型47

3.3 基本类型与引用类型的区别48

3.4 直接数50

3.4.1 直接数的类型50

3.4.2 直接数的赋值51

3.5 小结51

3.6 编程实战:金箍棒的电子档案52

第4 章千姿百态话变量55

4.1 变量的作用域55

4.1.1 实例变量和静态变量57

4.1.2 用静态变量统计实例的个数59

4.1.3 成员变量和局部变量同名60

4.2 对象的默认引用:this60

4.3 参数传递61

4.4 变量的初始化及默认值63

4.4.1 成员变量的初始化64

4.4.2 局部变量的初始化65

4.4.3 用new关键字创建对象65

4.5 小结67

4.6 编程实战:人参果树妙回春69

第5 章操作符号显身手71

5.1 操作符的优先级72

5.2 整型操作符73

5.2.1 一元整型操作符73

5.2.2 二元整型操作符73

5.3 浮点型操作符74

5.4 比较操作符和逻辑操作符75

5.4.1 比较操作符75

5.4.2 逻辑操作符76

5.5 特殊操作符“?:” 78

5.6 变量的赋值78

5.7 基本数据类型转换79

5.7.1 自动类型转换79

5.7.2 强制类型转换80

5.8 小结81

5.9 编程实战:判断年份是否为闰年82

5.10 编程实战:数字加密83

第6 章运筹帷幄控流程85

6.1 分支语句86

6.1.1 if...else语句86

6.1.2 switch 语句87

6.2 循环语句91

6.2.1 while语句93

6.2.2 do...while 语句94

6.2.3 for语句95

6.3 流程跳转语句96

6.4 小结98

6.5 编程实战:实现常用数学运算98

6.6 编程实战:打印金字塔99

6.7 编程实战:考试分数和等级转换100

6.8 编程实战:数兔子101

6.9 编程实战:寻找水仙花数103

第7 章代码重用靠继承105

7.1 继承的基本语法107

7.2 方法重载(Overload)108

7.3 方法覆盖(Override)109

7.4 方法覆盖与方法重载的异同111

7.5 super关键字112

7.6 多态113

7.7 小结115

7.8 编程实战一:运用方法的重载和覆盖115

7.9 编程实战二:演绎孙悟空与二郎神斗法116

第8 章引用类型操作符121

8.1 字符串连接操作符“+” 121

8.2 操作符“==”与对象的equals()方法122

8.2.1 操作符“==” 122

8.2.2 对象的 equals()方法123

8.3 操作符“!=” 125

8.4 引用变量的赋值和类型转换126

8.5 instanceof操作符127

8.6 小结128

8.7 编程实战:辨别真假孙悟空129

第9 章公私分明设权限131

9.1 封装类的部分属性和方法132

9.2 4种访问控制级别133

9.3 小结136

9.4 编程实战:模拟自动洗衣机136

第10章abstract:虚拟抽象画蓝图141

10.1 abstract修饰符的修饰内容141

10.2 abstract修饰符的语法规则142

10.3 抽象类不能被实例化143

10.4 小结144

10.5 编程实战:金、银角大王的魔法宝物144

第11章final:一锤定音恒不变147

11.1 final类148

11.2 final方法148

11.3 final变量149

11.4 小结151

11.5 编程实战:无法伪造篡改的生死簿152

第12章static:静态家当共分享155

12.1 static 变量156

12.2 static 方法156

12.2.1 静态方法可访问的内容157

12.2.2 实例方法可访问的内容158

12.2.3 静态方法必须被实现159

12.3.4 作为程序入口的 main()方法是静态方法159

12.3 static代码块160

12.4 小结161

12.5 编程实战:灵活配置绘制图形161

第13章对外开放靠接口165

13.1 接口的概念和语法规则167

13.2 比较抽象类与接口169

13.3 小结171

13.4 编程实战:紧箍圈降伏诸顽劣172

第14章出生入死话对象175

14.1 对象的构造方法176

14.1.1 重载构造方法177

14.1.2 默认构造方法178

14.1.3 子类调用父类的构造方法179

14.2 垃圾回收182

14.2.1 垃圾回收的时机183

14.2.2 对象的 finalize()方法184

14.3 小结185

14.4 编程实战:玩转垃圾回收186

14.5 编程实战:独一无二玉净瓶188

第15章类型封装内部类189

15.1 内部类的种类191

15.2 成员内部类191

15.2.1 实例内部类192

15.2.2 静态内部类195

15.3 局部内部类196

15.4 匿名类197

15.5 用Lambda表达式代替内部类199

15.6 小结200

15.7 编程实战:内部类回调外部类201

第16章降伏异常有策略203

16.1 Java 异常处理机制概述204

16.2 运用Java异常处理机制207

16.2.1 try...catch 语句:捕获异常207

16.2.2 finally语句:任何情况下必须执行的代码208

16.2.3 throws 子句:声明可能会出现的异常209

16.2.4 throw语句:抛出异常210

16.2.5 异常处理语句的语法规则210

16.2.6 异常流程的运行过程213

16.3 Java 异常类214

16.3.1 运行时异常217

16.3.2 受检查异常(Checked Exception)217

16.3.3 区分运行时异常和受检查异常217

16.4 用户定义异常219

16.5 小结220

16.6 编程实战:囧途开车遇异常221

第17章数组元素排排座225

17.1 数组简介227

17.2 数组变量的声明227

17.3 创建数组对象227

17.4 访问数组的元素和长度229

17.5 数组的初始化230

17.6 数组排序231

17.7 多维数组232

17.8 用符号“…”声明数目可变参数233

17.9 小结234

17.10 编程实战:多位数字加密235

17.11 编程实战:用数组实现堆栈236

第18章集合元素大操练239

18.1 Java 集合的类框架240

18.2 集合的基本用法240

18.2.1 包装类的自动装箱和拆箱241

18.2.2 Set(集)和List(列表)的各种具体实现类的特点241

18.2.3 集合的静态of()方法243

18.3 List(队列)245

18.4 Map(映射)245

18.5 用Lambda表达式遍历集合247

18.6 小结248

18.7 编程实战:计算数学表达式248

18.8 编程实战:计算带括号的数学表达式252

18.9 编程实战:用集合工具对数字排序255

18.10 编程实战:按月份先后顺序数兔子256

18.11 编程实战:用映射来存放学生信息257

18.12 编程实战:圆桌报数游戏259

第19章数据出入靠I/O261

19.1 输入流和输出流概述262

19.2 输入流263

19.3 FilterInputStream(过滤输入流)264

19.3.1 BufferedInputStream类265

19.3.2 DataInputStream类265

19.4 输出流267

19.5 FilterOutputStream(过滤输出流)267

19.5.1 DataOutputStream267

19.5.2 BufferedOutputStream268

19.5.3 PrintStream类268

19.6 Reader/Writer概述269

19.7 Reader类271

19.7.1 InputStreamReader 类271

19.7.2 FileReader类271

19.7.3 BufferedReader 类272

19.8 Writer类272

19.8.1 OutputStreamWriter 类273

19.8.2 FileWriter 类273

19.8.3 BufferedWriter 类273

19.8.4 PrintWriter 类273

19.9 读写文本文件的范例274

19.10 随机访问文件类:RandomAccessFile 276

19.11 File 类277

19.12 用java.nio.file类库来操纵文件系统279

19.13 小结282

19.14 编程实战:替换文本文件中的字符串283

19.15 编程实战:批量修改文件名285

第20章并发运行多线程287

20.1 Java 线程的运行机制288

20.2 线程的创建和启动289

20.2.1 扩展 java.lang.Thread 类289

20.2.2 实现 java.lang.Runnable接口291

20.3 线程的状态转换293

20.3.1 新建状态(New)293

20.3.2 就绪状态(Runnable)293

20.3.3 运行状态(Running)293

20.3.4 阻塞状态(Blocked)294

20.3.5 等待状态(Waiting)294

20.3.6 死亡状态(Terminated)294

20.3.7 线程状态转换举例294

20.4 线程调度295

20.4.1 调整各个线程的优先级296

20.4.2 线程睡眠:Thread.sleep()方法297

20.4.3 线程让步:Thead.yield()方法298

20.4.4 等待其他线程结束:join299

20.5 获得当前线程对象的引用300

20.6 小结301

20.7 编程实战:孙悟空偷吃蟠桃302

第21章同步通信多线程305

21.1 线程的同步307

21.1.1 同步代码块310

21.1.2 线程同步的特征312

21.2 线程的通信314

21.3 小结318

21.4 编程实战:悟空保唐僧打群妖319

21.5 编程实战:运动员赛跑322

21.6 编程实战:秒针、分针和时针的通信324

第22章图形界面俏容颜327

22.1 图形用户界面的构建机制327

22.2 容器类组件329

22.3 布局管理器331

22.3.1 FlowLayout 流式布局管理器333

22.3.2 BorderLayout 边界布局管理器334

22.3.3 GridLayout网格布局管理器336

22.3.4 CardLayout 卡片布局管理器338

22.4 事件处理340

22.5 AWT绘图343

22.6 创建动画346

22.7 菜单348

22.8 小结350

22.9 编程实战:创建数学计算器352

22.10 编程实战:创建BMI指数计算器353

第23章轻松访问数据库359

23.1 安装和配置MySQL数据库360

23.2 JDBC API简介362

23.3 JDBC API的基本用法365

23.4 获得新插入记录的主键值368

23.5 封装连接数据库的细节369

23.6 处理SQLException374

23.7 设置批量抓取属性375

23.8 可滚动及可更新的结果集376

23.9 小结383

23.10 编程实战:创建客户管理器383


精彩书摘

编程入门一点通:

话说我的本家孙悟空帮助唐僧到西天取到真经后,就在天上逍遥自在地当起了斗战胜佛。斗转星移,岁月如梭,一股信息化浪潮席卷全球,悟空的家乡花果山也与时俱进,处处配备了新式的计算机。

如今,悟空会熟练地运行安装在Windows操作系统中的各种可执行程序,利用它们来完成特定任务。例如通过浏览器程序来上网,通过记事本程序来编辑文档,通过画图程序来画画,通过计算器程序来进行数学运算。

有一天,悟空正在网上东游西逛,花果山的小猴智多星跑过来,对悟空说:“孙爷爷,我看这计算机上的程序都是给人玩的,要是您也能编写点程序出来,专门给俺们猴儿耍耍,那该多好啊。”

智多星的想法正合悟空的心意。悟空想:要是自己学会了编程,就可以开发出符合猴子趣味的程序给儿孙们耍耍,等到编程功底扎实了,还可以给花果山也开发个网站呢。

在本章中,悟空小试牛刀,用Java语言编写了一个简单的程序。本章内容主要围绕以下问题展开:

为什么Java语言具有跨操作系统平台的特性?

什么是面向对象(Object Oriented,OO)的基本思想?

创建、编译和运行Java程序的基本过程是怎样的?

……

前言/序言

Java 语言是目前IT 领域里的主流编程语言。面向对象的Java 语言具备一次编程、在任何平台中均可运行的跨平台特性,在需要支持多种操作系统和硬件平台的场合,Java 是首选的解决方案。

Java 语言非常安全和健壮。Java 致力于检查程序在编译和运行时的错误,奉行“错误发现和纠正得越早,造成的损失就越小”的原则,可谓防患于未然。Java 还支持自动内存管理,这不但减轻了程序员的许多负担,也减少了程序员错误释放内存的机会。Java 语言自1996 年诞生以来,其开源的精神吸引了世界各地的IT 精英们不遗余力地为它添砖加瓦。在如今的Java 领域,各种新技术、新工具层出不穷,一方面,每一种技术都会不停地升级换代,另一方面,还会不断涌现出新的技术和工具。Java 世界就像小时候玩的万花筒,尽管实质上只是由几个普通的玻璃碎片组成的,但只要轻轻一摇,就会变化出千万种缤纷的图案。Java 世界如此变化多端,很容易让初学Java的人有无从下手的感觉。

常常会有Java 新手问我类似这样的问题:“我学Java 已经有一段时间了,现在只能编写一点简单的程序,要学的东西实在太多了,我整天学都学不完,很迷茫,不知道该如何有针对性地去学,才能早日成为一名功底深厚的Java程序员。”确实,对于初学者,一开始就陷入包罗万象的Java技术的汪洋大海中,难以把握技术的核心思想,以及知识的深浅和主次,学习起来会比较吃力。

为了满足广大Java初学者的要求,本人在创作了十多本Java领域里的畅销书籍后,融合近二十年来的软件开发、教学和写作经验,用轻松诙谐的笔调,创作了《大话Java》这本书。本人在动手写每一个知识点时,有三个问题时时在脑袋里激发自己的灵感:“怎样写才能让读者一看就懂?怎样写才能增添书的趣味性,激发读者的学习兴趣?设计怎样的范例才能让读者迅速掌握实际运用的技能?”这三个问题激励着我精益求精地设计书中的范例,推敲书中的措辞,精炼书的结构。

古人云:“授人以鱼,不如授人以渔。”在一本Java书中,泛泛而谈地罗列所有的技术,如同授人以鱼,而以抛砖引玉的方式引导读者把握Java编程的核心思想,并且掌握灵活运用技术进行编程的技能,则如授人以渔。本书致力于引领Java 初学者们在Java 领域里乘风破浪,游刃有余地“织网渔猎”。

本书的组织结构和主要内容

本书别出心裁,引入了中国传统文化中家喻户晓的《西游记》人物孙悟空,以他学习Java 语言为主线,以模拟《西游记》中的种种传奇故事及实现各种有趣的实际应用为案例,带领读者逐步领略Java 语言的种种神通妙用,大大增加了书的趣味性。

本书的每一章都按照提出问题和解决问题的结构来安排内容,并且提供了编程实战练习,引导读者由被动阅读转为主动阅读,从而使读者既能深刻地领悟各种Java 知识的用途,又能提高运用特定技术来解决实际问题的能力。

本书主要内容包括:创建和运行Java程序的基本方法、Java 语言的基本语法、数据类型和变量、操作符、流程控制、继承、Java 语言中的修饰符、接口、异常处理、对象的生命周期、内部类、多线程、数组、集合、输入输出、图形用户界面和访问数据库。本书还介绍了JDK9 的一些新特性,包括JShell命令及Java 类库的模块化等。

这本书是否适合你

本书通俗幽默,内容循序渐进,适合所有Java初学者阅读。即使是没有任何编程基础的读者,也可以轻松阅读本书。

本书与作者的另一本书《Java 面向对象编程》一书相比,前者的特色在于化繁为简,以通俗浅显的语言介绍了Java 语言的基础知识,并且通过经典有趣的实战演练题帮助读者提高实际编程能力。后者则更为详细全面地阐述了Java 语言的各种技术、性能优化的策略,以及Java 的核心思想。前者提纲挈领,后者包罗万象,两者各有千秋,相得益彰。

本书致力于轻轻松松地带领读者跨入Java 世界的大门,体验通过Java编程实现各种实用范例的乐趣,而《Java面向对象编程》则帮助读者全面掌握Java 的各种技术,并且更深刻理解Java 的核心思想,进一步提高Java编程能力。

本书的所有范例都基于最新的JDK9 版本。本书每一章都提供了典型有趣的编程实战题。建议读者首先尝试自己独立完成题目。当遇到困难时,再参考书中给出的“编程提示”。这样会更有助于快速提高你的实际编程能力。

本书技术支持网站

以下是作者为本书提供的技术支持网址,读者可通过它下载与本书相关的资源(包括源代码、软件安装程序、视频教程和讲义等),还可以与作者互动,或者和其他读者交流学习心得,以及对本书提出宝贵意见:

http://www.javathinker.net/funnyjava.jsp

致谢

本书在编写过程中得到了Oracle 公司、电子工业出版社,以及JavaThinker.net网站的网友们的大力支持与帮助,在此表示衷心的感谢!参与编写的人员有孙卫琴、张雷、许亮思、张宇客、孟祥、王琨、曹文伟、曹雅洁、李红军、李洪成共十人。尽管我们尽了最大努力,但本书难免会有不妥之处,欢迎各界专家和读者朋友批评指正。

孙卫琴