《大话Java 程序设计从入门到精通》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:孙卫琴编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121349300
  • 页数:390 页
图书介绍:本书采用由浅入深、与实际应用紧密结合的方式,利用大量典型生动的范例,详细讲解了Java编程的各种基本技术。本书的范例全部基于最新的JDK9版本。本书内容包括:创建和运行Java程序的基本方法、Java语言的基本语法、数据类型和变量、操作符、流程控制、继承、Java语言中的修饰符、接口、异常处理、对象的生命周期、内部类、多线程、数组、集合、输入输出、图形用户界面和访问数据库。本书还介绍了JDK9的一些新特性,包括JShell命令及Java类库的模块化等。

第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 对象的默认引用:this 60

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 强制类型转换 81

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 编程实战:模拟自动洗衣机 137

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

10.1 abstract修饰符的修饰内容 143

10.2 abstract修饰符的语法规则 144

10.3 抽象类不能被实例化 145

10.4 小结 146

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

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

11.1 final类 150

11.2 final方法 150

11.3 final变量 151

11.4 小结 153

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

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

12.1 static变量 158

12.2 static方法 158

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

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

12.2.3 静态方法必须被实现 161

12.2.4 作为程序入口的main()方法是静态方法 161

12.3 static代码块 162

12.4 小结 163

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

第13章 对外开放靠接口 167

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

13.2 比较抽象类与接口 171

13.3 小结 173

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

第14章 出生入死话对象 177

14.1 对象的构造方法 178

14.1.1 重载构造方法 179

14.1.2 默认构造方法 180

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

14.2 垃圾回收 184

14.2.1 垃圾回收的时机 185

14.2.2 对象的finalize()方法 186

14.3 小结 187

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

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

第15章 类型封装内部类 191

15.1 内部类的种类 193

15.2 成员内部类 193

15.2.1 实例内部类 194

15.2.2 静态内部类 197

15.3 局部内部类 198

15.4 匿名类 199

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

15.6 小结 202

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

第16章 降伏异常有策略 205

16.1 Java异常处理机制概述 206

16.2 运用Java异常处理机制 209

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

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

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

16.2.4 throw语句:抛出异常 212

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

16.2.6 异常流程的运行过程 215

16.3 Java异常类 216

16.3.1 运行时异常 219

16.3.2 受检查异常(Checked Exception) 219

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

16.4 用户定义异常 221

16.5 小结 222

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

第17章 数组元素排排坐 227

17.1 数组简介 229

17.2 数组变量的声明 229

17.3 创建数组对象 229

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

17.5 数组的初始化 232

17.6 数组排序 233

17.7 多维数组 234

17.8 用符号“...”声明数目可变参数 235

17.9 小结 236

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

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

第18章 集合元素大操练 241

18.1 Java集合的类框架 242

18.2 集合的基本用法 242

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

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

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

18.3 List(队列) 247

18.4 Map(映射) 247

18.5 用Lambda表达式遍历集合 249

18.6 小结 250

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

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

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

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

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

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

第19章 数据出入靠I/O 263

19.1 输入流和输出流概述 264

19.2 输入流 265

19.3 FilterInputStream(过滤输入流) 266

19.3.1 BufferedInputStream类 267

19.3.2 DataInputStream类 267

19.4 输出流 269

19.5 FilterOutputStream(过滤输出流) 269

19.5.1 DataOutputStream 269

19.5.2 BufferedOutputStream 270

19.5.3 PrintStream类 270

19.6 Reader/Writer概述 271

19.7 Reader类 273

19.7.1 InputStreamReader类 273

19.7.2 FileReader类 273

19.7.3 BufferedReader类 274

19.8 Writer类 274

19.8.1 OutputStreamWriter类 275

19.8.2 FileWriter类 275

19.8.3 BufferedWriter类 275

19.8.4 PrintWriter类 275

19.9 读写文本文件的范例 276

19.10 随机访问文件类:RandomAccessFile 278

19.11 File类 279

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

19.13 小结 284

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

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

第20章 并发运行多线程 289

20.1 Java线程的运行机制 290

20.2 线程的创建和启动 291

20.2.1 扩展java.lang.Thread类 291

20.2.2 实现java.lang.Runnable接口 293

20.3 线程的状态转换 295

20.3.1 新建状态(New) 295

20.3.2 就绪状态(Runnable) 295

20.3.3 运行状态(Running) 295

20.3.4 阻塞状态(Blocked) 296

20.3.5 等待状态(Waiting) 296

20.3.6 死亡状态(Terminated) 296

20.3.7 线程状态转换举例 296

20.4 线程调度 297

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

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

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

20.4.4 等待其他线程结束:join() 301

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

20.6 小结 303

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

第21章 同步通信多线程 307

21.1 线程的同步 309

21.1.1 同步代码块 312

21.1.2 线程同步的特征 314

21.2 线程的通信 316

21.3 小结 320

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

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

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

第22章 图形界面俏容颜 329

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

22.2 容器类组件 331

22.3 布局管理器 333

22.3.1 FlowLayout流式布局管理器 335

22.3.2 BorderLayout边界布局管理器 336

22.3.3 GridLayout网格布局管理器 338

22.3.4 CardLayout卡片布局管理器 340

22.4 事件处理 342

22.5 AWT绘图 345

22.6 创建动画 348

22.7 菜单 350

22.8 小结 352

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

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

第23章 轻松访问数据库 361

23.1 安装和配置MySQL数据库 362

23.2 JDBC API简介 364

23.3 JDBC API的基本用法 367

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

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

23.6 处理SQLException 376

23.7 设置批量抓取属性 377

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

23.9 小结 385

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