《Java从入门到精通 实例版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302287568
  • 页数:548 页
图书介绍:本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。

第1篇 基础篇 3

第1章 初识Java 3

1.1 Java语言概述 4

1.1.1 Java语言的历史 4

1.1.2 Java语言的现状 4

1.1.3 Java语言的面向对象特性 4

1.2 JDK的下载和安装 6

1.2.1 JDK下载 6

1.2.2 JDK安装 7

1.2.3配置JDK 9

1.2.4测试开发环境 11

1.3第一个Java程序 11

1.4本章小结 14

第2章 熟悉Eclipse开发工具 15

2.1熟悉Eclipse 16

2.1.1 Eclipse简介 16

2.1.2 Eclipse的下载与安装 16

2.1.3 Eclipse汉化 17

2.1.4 Eclipse工作台 21

2.1.5透视图与视图 22

2.1.6菜单栏 23

2.1.7工具栏 27

2.1.8“包资源管理器”视图 28

2.1.9“控制台”视图 28

2.2使用Eclipse 28

2.2.1创建Java项目 29

2.2.2创建Java类文件 29

2.2.3使用编辑器编写程序代码 30

2.2.4运行Java程序 32

2.3程序调试 32

2.4本章小结 33

第3章 Java语言基础 35

3.1 Java程序的基本结构 36

3.2标识符和关键字 37

3.2.1标识符 37

3.2.2关键字 38

3.3基本数据类型 38

3.3.1整数类型 39

3.3.2浮点类型 40

3.3.3字符类型 42

3.3.4布尔类型 43

3.4变量与常量 43

3.4.1声明变量 44

3.4.2声明常量 45

3.4.3变量的有效范围 45

3.5运算符 47

3.5.1赋值运算符 47

3.5.2算术运算符 48

3.5.3自增和自减运算符 49

3.5.4比较运算符 49

3.5.5逻辑运算符 50

3.5.6位运算符 51

3.5.7三元运算符 53

3.5.8运算符优先级 54

3.5.9范例1:不用其他变量实现两变量互换 55

3.5.10范例2:判断数字的奇偶性 56

3.6类型转换 56

3.6.1自动类型转换 56

3.6.2强制类型转换 57

3.6.3范例3:类型转换实战 58

3.7代码注释和编码规范 59

3.7.1代码注释 59

3.7.2编码规范 60

3.8经典范例 61

3.8.1经典范例1:判断某一年是否是闰年 61

3.8.2经典范例2:求球形的体积 61

3.9本章小结 62

3.10实战练习 62

第4章 流程控制 63

4.1复合语句 64

4.2条件语句 65

4.2.1 if条件语句 65

4.2.2 switch多分支语句 69

4.2.3范例1:验证登录信息的合法性 71

4.2.4范例2:为新员工分配部门 71

4.3循环语句 73

4.3.1 while循环语句 73

4.3.2 do…while循环语句 74

4.3.3 for循环语句 75

4.3.4范例3:使用while循环遍历数组 77

4.3.5范例4:使用for循环输出九九乘法表 77

4.4跳转语句 78

4.4.1 break语句 78

4.4.2 continue语句 79

4.4.3 return语句 80

4.4.4范例5:终止循环体 80

4.4.5范例6:循环体的过滤器 81

4.5经典范例 82

4.5.1经典范例1:使用for循环输出空心的菱形 82

4.5.2经典范例2:使用for循环输出杨辉三角 84

4.6本章小结 84

4.7实战练习 85

第5章 数组 87

5.1数组概述 88

5.2一维数组 88

5.2.1创建一维数组 89

5.2.2初始化一维数组 90

5.2.3范例1:求一维数组各元素的和 90

5.2.4范例2:获取一维数组的最小值 91

5.3多维数组 92

5.3.1二维数组 92

5.3.2三维数组 94

5.3.3范例3:对矩阵进行转置运算 95

5.3.4范例4:求方阵的迹 96

5.4数组的基本操作 96

5.4.1遍历数组 97

5.4.2填充替换数组元素 98

5.4.3对数组进行排序 99

5.4.4复制数组 100

5.4.5范例5:对比一维、二维数组所占内存 102

5.4.6范例6:使用直接插入排序法排序 103

5.5经典范例 104

5.5.1经典范例1:使用冒泡排序法排序 104

5.5.2经典范例2:输出九宫格 105

5.6本章小结 105

5.7实战练习 106

第6章 字符串 107

6.1创建字符串 108

6.2字符串操作 108

6.2.1字符串连接 108

6.2.2获取字符串信息 110

6.2.3去除字符串中的空格 112

6.2.4字符串替换 114

6.2.5判断字符串 115

6.2.6字母大小写转换 117

6.2.7字符串分割 118

6.2.8范例1:根据指定分割符把字符串分行 119

6.2.9范例2:判断字符串是否是数字格式 120

6.3格式化字符串 121

6.3.1格式化方法 121

6.3.2日期格式化 122

6.3.3时间格式化 123

6.3.4日期时间组合格式化 124

6.3.5常规类型格式化 125

6.3.6范例3:将金额格式化成大写 126

6.3.7范例4:将数字格式化成货币格式 128

6.4正则表达式 128

6.4.1判断是否符合正则表达式的方法 128

6.4.2正则表达式的元字符 129

6.4.3正则表达式的限定符 130

6.4.4方括号中元字符的含义 131

6.4.5范例5:验证IP地址的合法性 132

6.4.6范例6:计算文章中汉字的个数 133

6.5字符串生成器 134

6.5.1 StringBuilder类 134

6.5.2 StringBuilder类的常用方法 135

6.5.3范例7:将汉字和字母转换成Unicode码 138

6.5.4范例8:去掉字符串中重复的字符 138

6.6经典范例 139

6.6.1经典范例1:实现字符串加密 139

6.6.2经典范例2:验证字符串是否回文 140

6.7本章小结 141

6.8实战练习 141

第7章 类和对象 143

7.1面向对象概述 144

7.1.1什么是对象 144

7.1.2什么是类 145

7.1.3面向对象的特点 146

7.2类 148

7.2.1类的构造方法 148

7.2.2类的主方法 149

7.2.3成员变量 150

7.2.4成员方法 151

7.2.5局部变量 152

7.2.6局部变量的有效范围 152

7.2.7静态变量、常量和方法 153

7.2.8权限修饰符 155

7.2.9 this关键字 156

7.2.10范例1:自定义图书类 157

7.2.11范例2:温度单位转换工具 158

7.3对象 158

7.3.1对象的创建 159

7.3.2访问对象的属性和行为 160

7.3.3对象的引用 162

7.3.4对象的比较 162

7.3.5对象的销毁 163

7.3.6范例3:统计图书销量 164

7.3.7范例4:重新计算对象的哈希码 165

7.4经典范例 166

7.4.1经典范例1:汉诺塔问题求解 166

7.4.2经典范例2:单例模式的应用 167

7.5本章小结 168

7.6实战练习 168

第2篇 技术篇 171

第8章 接口、继承与多态 171

8.1接口的使用 172

8.1.1接口的定义 172

8.1.2接口的实现 172

8.1.3范例1:图片的不同格式保存 173

8.1.4范例2:为汽车增加GPS定位功能 174

8.2类的继承 175

8.2.1继承的实现 175

8.2.2继承中的重写 176

8.2.3使用super关键字 177

8.2.4范例3:经理与员工的差异 179

8.2.5范例4:重写父类中的方法 180

8.3多态 181

8.3.1什么是多态 181

8.3.2范例5:计算几何图形的面积 183

8.3.3范例6:简单的汽车销售商场 184

8.4经典范例 185

8.4.1经典范例1:使用Comparable接口自定义排序 185

8.4.2经典范例2:动态设置类的私有域 187

8.5本章小结 188

8.6实战练习 188

第9章 类的高级特性 189

9.1抽象类 190

9.2内部类 192

9.2.1成员内部类 192

9.2.2局部内部类 195

9.2.3匿名内部类 195

9.2.4静态内部类 197

9.2.5内部类的继承 198

9.2.6范例1:局部内部类设置闹钟 198

9.2.7范例2:静态内部类求极值 199

9.3 Class类与Java反射 200

9.3.1访问构造方法 201

9.3.2访问成员变量 204

9.3.3访问方法 206

9.3.4范例3:运用反射查看类的成员 209

9.3.5范例4:动态调用类中方法 210

9.4经典范例 211

9.4.1经典范例1:利用反射重写toString()方法 211

9.4.2经典范例2:普通内部类的简单应用 212

9.5本章小结 213

9.6实战练习 213

第10章 Java集合类 215

10.1集合类概述 216

10.2集合类接口的常用方法 216

10.2.1 List接口的常用方法 216

10.2.2 Set接口的常用方法 218

10.2.3 Map接口的常用方法 219

10.2.4范例1:用List集合传递学生信息 220

10.2.5范例2:Map集合二级联动 222

10.3集合类接口的实现类 223

10.3.1 List接口的实现类 223

10.3.2 Set接口的实现类 224

10.3.3 Map接口的实现类 226

10.3.4范例3:for循环遍历ArrayList 227

10.3.5范例4:用动态数组保存学生姓名 228

10.4迭代器 229

10.4.1迭代器的创建和使用 229

10.4.2范例5:Iterator遍历ArrayList 230

10.4.3范例6:ListIterator遍历ArrayList 231

10.5经典范例 232

10.5.1经典范例1:制作电子词典 232

10.5.2经典范例2:制作手机电话本 234

10.6本章小结 235

10.7实战练习 235

第11章 异常处理 237

11.1异常概述 238

11.2异常的分类 238

11.2.1可控式异常 238

11.2.2运行时异常 240

11.2.3范例1:算术异常 241

11.2.4范例2:数组下标越界异常 242

11.3获取异常信息 243

11.4处理异常 244

11.4.1使用try…catch处理异常 244

11.4.2使用try…catch…finally处理异常 245

11.4.3使用try…finally处理异常 246

11.5抛出异常 248

11.5.1使用throws声明抛出异常 248

11.5.2使用throw语句抛出异常 250

11.5.3范例3:方法中抛出异常 251

11.5.4范例4:方法上抛出异常 251

11.6自定义异常 252

11.6.1创建自定义异常类 252

11.6.2使用自定义异常类 253

11.7异常的使用原则 254

11.8经典范例 254

11.8.1经典范例1:捕获单个异常 254

11.8.2经典范例2:数据库操作异常 255

11.9本章小结 256

11.10实战练习 256

第12章 输入/输出 257

12.1流概述 258

12.2输入/输出流 258

12.2.1输入流 258

12.2.2输出流 260

12.2.3范例1:显示指定类型的文件 261

12.2.4范例2:查找替换文本文件内容 262

12.3 File类 263

12.3.1文件的创建与删除 263

12.3.2获取文件信息 264

12.3.3范例3:文件批量重命名 265

12.3.4范例4:快速批量移动文件 266

12.4文件输入/输出流 267

12.4.1 FileInputStream与FileOutputStream类 267

12.4.2 FileReader类和FileWriter类 268

12.4.3范例5:窗体动态加载磁盘文件 270

12.4.4范例6:删除文件夹中所有文件 272

12.5带缓存的输入/输出流 272

12.5.1 ButteredInputStream类与ButteredOutputStream类 272

12.5.2 ButteredReader类与ButteredWriter类 273

12.5.3范例7:读取属性文件单个属性值 275

12.5.4范例8:合并多个TXT文件 276

12.6数据输入/输出流 277

12.7 ZIP压缩输入/输出流 278

12.7.1压缩文件 278

12.7.2解压缩ZIP文件 280

12.7.3范例9:压缩包解压到指定文件夹 281

12.7.4范例10:压缩所有子文件夹 283

12.8经典范例 284

12.8.1经典范例1:简单的投票软件 284

12.8.2经典范例2:电子通讯录 284

12.9本章小结 285

12.10实战练习 286

第13章 Swing程序设计 287

13.1 Swing概述 288

13.2 Swing常用窗体 288

13.2.1 JFrame框架窗体 288

13.2.2 JDialog窗体 290

13.2.3范例1:设置窗体大小 291

13.2.4范例2:禁止改变窗体的大小 292

13.3标签组件与图标 292

13.3.1标签的使用 292

13.3.2图标的使用 293

13.3.3范例3:为图片添加说明 295

13.4常用布局管理器 296

13.4.1绝对布局 297

13.4.2流布局管理器 297

13.4.3边界布局管理器 299

13.4.4网格布局管理器 300

13.5常用面板 301

13.5.1 JPanel面板 301

13.5.2 JScrollPane面板 302

13.6按钮组件 303

13.6.1提交按钮组件 303

13.6.2单选按钮组件 304

13.6.3复选框组件 305

13.7列表组件 306

13.7.1下拉列表框组件 306

13.7.2列表框组件 308

13.8文本组件 310

13.8.1文本框组件 310

13.8.2密码框组件 311

13.8.3文本域组件 311

13.8.4范例4:给文本域设置背景图片 312

13.8.5范例5:给文本区设置背景图片 313

13.9经典范例 313

13.9.1经典范例1:设置窗体标题栏图标 313

13.9.2经典范例2:随机更换窗体背景 314

13.10本章小结 315

13.11实战练习 315

第3篇 高级篇 319

第14章 高级事件处理 319

14.1键盘事件 320

14.2鼠标事件 322

14.3窗体事件 324

14.3.1捕获窗体焦点变化事件 324

14.3.2捕获窗体状态变化事件 325

14.3.3捕获其他窗体事件 326

14.4选项事件 328

14.5表格模型事件 329

14.6经典范例 332

14.6.1经典范例1:模拟相机拍摄 332

14.6.2经典范例2:打地鼠游戏 333

14.7本章小结 335

14.8实战练习 335

第15章 多线程 337

15.1线程简介 338

15.2实现线程的两种方式 338

15.2.1继承Thread类 339

15.2.2实现Runnable接口 340

15.2.3范例1:查看线程的运行状态 342

15.2.4范例2:查看JVM中的线程名 344

15.3线程的生命周期 345

15.4操作线程的方法 346

15.4.1线程的休眠 347

15.4.2线程的加入 348

15.4.3线程的中断 350

15.4.4线程的礼让 351

15.4.5范例3:查看和修改线程优先级 351

15.4.6范例4:休眠当前线程 353

15.5线程的优先级 354

15.6线程同步 356

15.6.1线程安全 356

15.6.2线程同步机制 357

15.7线程间的通信 359

15.8经典范例 361

15.8.1经典范例1:查看JVM中的线程名 361

15.8.2经典范例2:查看和修改线程名称 362

15.9本章小结 364

15.10实战练习 364

第16章 网络通信 365

16.1网络程序设计基础 366

16.1.1局域网与因特网 366

16.1.2网络协议 366

16.1.3端口和套接字 367

16.1.4范例1:获得内网的所有IP地址 368

16.1.5范例2:解析网页中的内容 369

16.2 TCP程序设计基础 370

16.2.1 InetAddress类 371

16.2.2 ServerSocket类 372

16.2.3 TCP网络程序 373

16.2.4范例3:设置等待连接的超时时间 376

16.2.5范例4:获得Socket信息 377

16.3 UDP程序设计基础 378

16.3.1 DatagramPacket类 379

16.3.2 DatagramSocket类 379

16.3.3 UDP网络程序 379

16.4经典范例 383

16.4.1经典范例1:聊天室服务器端 383

16.4.2经典范例2:聊天室客户端 385

16.5本章小结 387

16.6实战练习 387

第17章 JDBC操作数据库 389

17.1 JDBC概述 390

17.1.1数据库概述 390

17.1.2 JDBC技术 391

17.2 JDBC的常用类和接口 391

17.2.1 DriverManager类 391

17.2.2 Connection接口 392

17.2.3 Statement接口 393

17.2.4 PreparedStatement接口 393

17.2.5 ResultSet接口 393

17.3通过JDBC操作数据库 394

17.3.1加载数据库驱动 394

17.3.2建立连接 395

17.3.3向数据库添加数据 396

17.3.4获得查询结果集 397

17.3.5更改数据库中的数据 398

17.3.6删除数据库中的数据 399

17.3.7模糊查询 400

17.3.8范例1:将复选框内容存到数据库 401

17.3.9范例2:查询三年二班的学生信息 403

17.4经典范例 404

17.4.1经典范例1:管理学生信息 404

17.4.2经典范例2:权限管理 410

17.5本章小结 415

17.6实战练习 415

第18章 Swing高级组件 417

18.1利用JTable类直接创建表格 418

18.1.1创建表格 418

18.1.2定制表格 420

18.1.3操纵表格 423

18.1.4范例1:列表元素与提示信息 425

18.1.5范例2:监听列表单击事件 426

18.2表格模型与表格 427

18.2.1利用表格模型创建表格 427

18.2.2维护表格模型 429

18.2.3范例3:实现自动排序列表 431

18.2.4范例4:可以预览字体的列表 432

18.3提供行标题栏的表格 433

18.3.1提供行标题栏的表格 433

18.3.2范例5:提供行标题栏的表格 433

18.4 Swing树组件 437

18.4.1简单的树 437

18.4.2处理选中节点事件 438

18.4.3遍历树节点 440

18.4.4定制树 442

18.4.5维护树模型 444

18.4.6处理展开节点事件 446

18.4.7范例6:为树节点增加提示信息 448

18.4.8范例7:双击编辑树节点功能 449

18.5经典范例 450

18.5.1经典范例1:编写中国省市信息树 450

18.5.2经典范例2:监听节点的选择事件 451

18.6本章小结 452

18.7实战练习 452

第19章 高级布局管理器 453

19.1箱式布局管理器 454

19.2卡片布局管理器 456

19.3网格组布局管理器 458

19.4弹簧布局管理器 464

19.4.1使用弹簧布局管理器 464

19.4.2使用弹簧和支柱 467

19.4.3利用弹簧控制组件大小 468

19.5经典范例 469

19.5.1经典范例1:制作圆形布局管理器 469

19.5.2经典范例2:制作阶梯布局管理器 470

19.6本章小结 471

19.7实战练习 471

第20章 AWT绘图技术 473

20.1绘制图形 474

20.1.1 Graphics 474

20.1.2 Graphics2D 476

20.1.3范例1:绘制指定角度的填充扇形 478

20.1.4范例2:绘制多边形 478

20.2绘图颜色与笔画属性 479

20.2.1设置颜色 479

20.2.2笔画属性 481

20.2.3范例3:为图形填充渐变色 482

20.2.4范例4:设置笔画的粗细 482

20.3绘制文本 483

20.3.1设置字体 483

20.3.2显示文字 484

20.3.3范例5:设置文本的字体 485

20.3.4范例6:设置文本的图形和颜色 486

20.4图片处理 487

20.4.1绘制图片 487

20.4.2放大与缩小 488

20.4.3图片翻转 490

20.4.4图片旋转 492

20.4.5图片倾斜 493

20.4.6范例7:图形的交运算 495

20.4.7范例8:图形的异或运算 495

20.5经典范例 496

20.5.1经典范例1:绘制花瓣 496

20.5.2经典范例2:绘制艺术图案 497

20.6本章小结 498

20.7实战练习 499

第4篇 项目篇 503

第21章 酒店管理系统 503

21.1概述 504

21.2系统分析 504

21.3系统设计 504

21.3.1系统目标 504

21.3.2系统功能结构 505

21.3.3系统预览 505

21.3.4业务流程图 506

21.3.5文件夹结构设计 507

21.4数据库设计 508

21.4.1数据库分析 508

21.4.2数据库概念设计 508

21.4.3数据库逻辑结构设计 509

21.4.4视图设计 509

21.5公共模块设计 510

21.5.1编写数据库连接类 510

21.5.2封装常用的操作数据库的方法 511

21.5.3自定义表格组件 512

21.5.4编写利用正则表达式验证数据合法性的方法 513

21.6主窗体设计 514

21.7用户登录窗口设计 516

21.8开台签单工作区设计 521

21.8.1开台签单工作区功能概述 521

21.8.2开台签单工作区技术分析 522

21.8.3开台签单工作区实现过程 522

21.8.4单元测试 527

21.9自动结账工作区设计 528

21.9.1自动结账工作区功能概述 528

21.9.2自动结账工作区技术分析 528

21.9.3自动结账工作区实现过程 529

21.10结账报表工作区设计 530

21.10.1结账报表工作区功能概述 530

21.10.2结账报表工作区技术分析 531

21.10.3结账报表工作区实现过程 531

21.10.4单元测试 535

21.11后台管理工作区设计 536

21.11.1后台管理工作区功能概述 536

21.11.2后台管理工作区技术分析 537

21.11.3后台管理工作区实现过程 537

21.11.4单元测试 544

21.12开发技巧与难点分析 544

21.13使用Visio逆向生成数据库E-R图 546

21.14本章小结 548