《Java编程手记 从实践中学习Java》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:欧二强等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302316992
  • 页数:661 页
图书介绍:本书内容:第一篇介绍Java历史、开发环境塔建、程序的编译执行与JVM的关系、基础语法、控制语句、数组的定义与操作、方法和字符串等。第二篇介绍类和对象的定义与使用、各个访问控制符和修饰符的引用、继承与多态特性、接口、内部类、包等。第三篇介绍异常处理、输入/输出流、多线程、常用类库、泛型使用和定义、集合、反射机制、数据库程序设计、网络程序设计、图形界面、Eclipse开发工具等。

第1篇 Java开发基础 2

第1章 Java的前生今世(教学视频:16分钟) 2

1.1 先认识一下Java 2

1.1.1 Java的诞生一个伟大的开始 2

1.1.2 Java能干点什么呢 4

1.1.3 Java语言有何特点 4

1.2 塔建Java开发环境 5

1.2.1 如何下载和安装JDK 6

1.2.2 如何配置JDK 8

1.2.3 面试和笔试宝典 11

1.3 我的第一个Java程序 12

1.3.1 编写一个Java程序Hello World 12

1.3.2 理解Java程序的运行机制 12

1.3.3 面试和笔试宝典 14

1.4 小结 14

第2章 Java语言基础(教学视频:34分钟) 16

2.1 基础语言要素 16

2.1.1 标识符 16

2.1.2 有特别意义的标识符是关键字 17

2.1.3 养成一个好的命名习惯 18

2.1.4 认识分隔符 18

2.1.5 面试和笔试宝典 19

2.2 Java程序代码的注释 19

2.2.1 使用双斜杠的单行注释 20

2.2.2 用于区域的多行注释 20

2.2.3 文档注释 21

2.2.4 使用javadoc生成帮助文档 21

2.2.5 面试和笔试宝典 25

2.3 Java的变量和常量 25

2.3.1 认识变量 25

2.3.2 认识常量 26

2.3.3 面试和笔试宝典 27

2.4 Java的基本数据类型——元数据类型 27

2.4.1 数据类型的分类 28

2.4.2 整数数据类型 29

2.4.3 浮点类型 30

2.4.4 字符类型 30

2.4.5 使用布尔类型判断对错 31

2.4.6 面试和笔试宝典 32

2.5 类型转换 34

2.5.1 自动类型转换 34

2.5.2 强制类型转换 36

2.5.3 面试和笔试宝典 37

2.6 Java的运算符与表达式 37

2.6.1 算术运算符 38

2.6.2 关系运算符 39

2.6.3 逻辑运算符 40

2.6.4 位运算符 42

2.6.5 赋值运算符 44

2.6.6 唯一一个三目运算符 45

2.6.7 表达式及运算符优先级 46

2.6.8 面试和笔试宝典 47

2.7 小结 50

第3章 控制语句(教学视频:28分钟) 51

3.1 流程控制基础 51

3.2 选择控制语句 52

3.2.1 if控制语句 53

3.2.2 if…else语句 54

3.2.3 if…else语句的嵌套 56

3.2.4 if…else if…else语句嵌套 57

3.2.5 switch控制语句 58

3.2.6 面试和笔试宝典 61

3.3 循环控制语句 62

3.3.1 while循环控制语句 63

3.3.2 do…while循环控制语句 64

3.3.3 for循环控制语句 65

3.2.4 循环的嵌套 66

3.2.5 面试和笔试宝典 67

3.4 跳转控制语句 69

3.4.1 break跳转语句 69

3.4.2 continue跳转语句 71

3.4.3 return跳转语句 72

3.4.4 面试和笔试宝典 73

3.5 实例讲解 74

3.6 小结 78

第4章 物以类聚的变量集——数组(教学视频:33分钟) 79

4.1 使用一维数组 79

4.1.1 数组的声明 79

4.1.2 数组的初始化 81

4.1.3 访问数组元素 82

4.1.4 获取数组长度 84

4.1.5 foreach语句 84

4.1.6 面试和笔试宝典 86

4.2 数组示例 86

4.3 使用多维数组 91

4.3.1 二维数组 91

4.3.2 二维数组初始化 92

4.3.3 使用二维数组 93

4.3.4 多维数组 94

4.3.5 面试和笔试宝典 95

4.4 数组的深入使用 97

4.4.1 命令行参数 97

4.4.2 数组操作类:Arrays类 97

4.5 小结 100

第5章 方法和字符串(教学视频:22分钟) 101

5.1 方法的声明及使用 101

5.1.1 方法的定义 102

5.1.2 调用方法 103

5.1.3 方法的重载 104

5.1.4 方法的递归调用 106

5.1.5 形参个数可变的方法 108

5.1.6 面试和笔试宝典 111

5.2 字符串 112

5.2.1 与众不同的初始化方式 112

5.2.2 String不可变的特性 115

5.2.3 String类的常用方法 116

5.2.4 面试和笔试宝典 122

5.3 可变的String类——StringBuffer类 125

5.3.1 创建StringBuffer对象 125

5.3.2 StringBuffer的常用方法 125

5.4 小结 131

第2篇 Java面向对象程序设计 134

第6章 面向对象程序设计(教学视频:35分钟) 134

6.1 面向对象简介 134

6.1.1 面向对象的演绎过程 134

6.1.2 面向对象的特征 135

6.2 类与对象 136

6.2.1 理解类与对象的关系 137

6.2.2 定义类 137

6.2.3 创建和使用对象 138

6.2.4 匿名对象 143

6.2.5 构造函数 144

6.2.6 面试和笔试宝典 146

6.3 static(静态)修饰符 148

6.3.1 static变量——静态变量 149

6.3.2 static方法——静态方法 150

6.3.3 程序的入口main()方法 152

6.3.4 变量的作用域 153

6.3.5 面试和笔试宝典 154

6.4 封装性及访问控制符 156

6.4.1 封装性 156

6.4.2 访问控制符 156

6.4.3 面试和笔试宝典 158

6.5 代码块 158

6.5.1 普通代码块 159

6.5.2 构造块 159

6.5.3 静态代码块 160

6.5.4 面试和笔试宝典 161

6.6 引用传递 162

6.6.1 值传递 162

6.6.2 引用传递 163

6.6.3 面试和笔试宝典 164

6.7 Java中的包(package) 166

6.7.1 使用package定义包 166

6.7.2 使用import导入包 167

6.7.3 系统常见包 170

6.7.4 面试和笔试宝典 171

6.8 小结 172

第7章 Java的继承与多态(教学视频:39分钟) 174

7.1 继承 174

7.1.1 理解继承的基本概念 174

7.1.2 重写父类中的方法 179

7.1.3 当构造方法遇到继承 183

7.1.4 面试和笔试宝典 184

7.2 this关键字和super关键字 186

7.2.1 使用this调用本类中的属性 186

7.2.2 使用this调用构造方法 187

7.2.3 this表示当前的对象 189

7.2.4 super关键字 190

7.2.5 面试和笔试宝典 193

7.3 转型 196

7.3.1 向上转型 196

7.3.2 向下转型 197

7.3.3 面试和笔试宝典 199

7.4 instanceof关键字 200

7.5 封装类 203

7.5.1 封装类的简介 203

7.5.2 装箱与拆箱 204

7.5.3 利用封装类进行数据转换 205

7.5.4 面试和笔试宝典 207

7.6 小结 207

第8章 类的高级使用(教学视频:28分钟) 209

8.1 final关键字的使用 209

8.1.1 final关键字修饰常量 209

8.1.2 不允许被覆盖的方法——最终方法 210

8.1.3 不再有继承的类——最终类 211

8.1.4 面试和笔试宝典 212

8.2 抽象类 214

8.2.1 抽象类与抽象方法 215

8.2.2 面试和笔试宝典 218

8.3 接口 221

8.3.1 接口的概念 222

8.3.2 实现与继承接口 223

8.3.3 接口和抽象类 227

8.3.4 面试和笔试宝典 228

8.4 对象数组 229

8.5 内部类(Inner Class) 231

8.5.1 内部类的定义 232

8.5.2 内部类的使用 233

8.5.3 实例内部类 235

8.5.4 静态内部类 237

8.5.5 局部内部类 238

8.5.6 匿名内部类(Anonymous inner classes) 241

8.5.7 面试和笔试宝典 244

8.6 小结 245

第3篇 Java应用程序设计 248

第9章 异常处理(教学视频:21分钟) 248

9.1 认识异常 248

9.1.1 异常是什么 248

9.1.2 Java异常的类结构 249

9.1.3 面试和笔试宝典 251

9.2 Java的异常处理机制 252

9.2.1 try…catch…finally捕获异常 252

9.2.2 throws声明异常 260

9.2.3 throw抛出异常 263

9.2.4 面试和笔试宝典 265

9.3 自定义异常类 268

9.4 断言 270

9.5 小结 272

第10章 Java的输入/输出(教学视频:34分钟) 273

10.1 数据流的概念和划分 273

10.1.1 数据流的概念 274

10.1.2 数据流的划分 274

10.1.3 面试和笔试宝典 276

10.2 文件类:File类 277

10.2.1 File类简介 277

10.2.2 通过File类对文件进行操作 279

10.2.3 面试和笔试宝典 282

10.3 字节流 283

10.3.1 字节输入流:InputStream类 283

10.3.2 字节输出流:OutputStream类 287

10.3.3 面试和笔试宝典 288

10.4 字符流 290

10.4.1 字符输入流:Reader类 290

10.4.2 字符输出流:Writer类 292

10.4.3 面试和笔试宝典 297

10.5 转换流 298

10.5.1 输入字节流——字符流:InputStreamReader类 298

10.5.2 输出字节流——字符流:OutputStreamWriter类 299

10.6 缓冲流:BufferedReader类 301

10.6.1 BufferedReader类 301

10.6.2 BufferedWriter类 303

10.7 内存操作流 304

10.7.1 内存输入流:ByteArrayInputStream类 304

10.7.2 内存输出流:ByteArrayOutputStream类 305

10.8 打印流:PrintStream类 306

10.9 Scanner类 308

10.9.1 Scanner类简介 308

10.9.2 使用Scanner类输入数据 309

10.10 随机访问文件类:RandomAccessFile类 311

10.11 顺序输入流:SequenceInputStream类 314

10.12 压缩流 316

10.12.1 ZipEntry类 316

10.12.2 ZipOutputStream类 317

10.12.3 ZipInputStream类 319

10.12.4 ZipFile类 321

10.13 对象序列化 324

10.13.1 对象序列化的简介 324

10.13.2 对象输出流:ObjectOutputStream 325

10.13.3 对象输入流:ObjectInputStream 326

10.13.4 Externalizable接口 327

10.14 小结 331

第11章 多线程(教学视频:21分钟) 332

11.1 多线程——执行代码的基本单位 332

11.1.1 多线程的概念 332

11.1.2 面试和笔试宝典 333

11.2 线程的创建 334

11.2.1 通过继承Thread类创建线程 334

11.2.2 通过实现Runnable接口创建线程 336

11.2.3 Java主线程——main() 337

11.2.4 比较继承Thread类和实现Runnable接口 338

11.3 线程状态 341

11.4 线程操作的相关方法 342

11.4.1 获取并设置线程的名称 344

11.4.2 线程的优先级 345

11.4.3 让线程休眠 345

11.4.4 线程的加入 347

11.4.5 线程的唤醒 348

11.4.6 后台线程 349

11.4.7 线程的礼让 350

11.4.8 面试和笔试宝典 351

11.5 线程同步和通信 352

11.5.1 话说同步的必要性 352

11.5.2 实现同步 353

11.5.3 线程间是怎样沟通的 356

11.5.4面试和笔试宝典 359

11.6 小结 359

第12章 Java常用类库(教学视频:35分钟) 361

12.1 Object类 361

12.1.1 Object类的简介 361

12.1.2 Object类的常用方法操作 362

12.1.3 面试和笔试宝典 367

12.2 运行时操作类:Runtime类 367

12.2.1 认识Runtime类 367

12.2.2 得到JVM信息 368

12.2.3 Runtime类与Process类 369

12.2.4 面试和笔试宝典 370

12.3 定时器 371

12.3.1 Timer类 371

12.3.2 TimerTask类 372

12.4 系统类:System类 373

12.4.1 认识system类 373

12.4.2 system类的操作:访问系统属性 374

12.4.3 system类的操作:复制数组 375

12.4.4 system类的操作:计算程序执行时间 376

12.4.5 system类的操作:垃圾对象的回收 376

12.5 日期操作类 377

12.5.1 简单日期操作类:Date类 377

12.5.2 日期抽象类:Calendar类 379

12.5.3 日期格式类:DateFormat类 382

12.5.4 转换日期格式类:SimpleDateFormat类 384

12.5.5 面试和笔试宝典 387

12.6 数学类:Math类 388

12.7 随机数类:Random类 391

12.8 格式化类:NumberFormat类 393

12.9 大数类 396

12.9.1 BigInteger类 396

12.9.2 精确的大数类:BigDecimal类 398

12.10 正则表达式 400

12.10.1 正则表达式简介 400

12.10.2 Pattern类 402

12.10.3 Matcher类 403

12.11 小结 406

第13章 泛型(教学视频:16分钟) 407

13.1 泛型定义 407

13.2 泛型应用 409

13.2.1 泛型的基本应用 409

13.2.2 泛型类的构造方法 412

13.2.3 定义泛型类时声明多个类型 413

13.2.4 泛型的安全警告 413

13.2.5 面试和笔试宝典 414

13.3 通配符 415

13.3.1 无界通配符“?” 416

13.3.2 受限泛型 417

13.3.3 笔试和面试宝典 421

13.4 泛型与子类继承的限制 423

13.4.1 以泛型类为父类 423

13.4.2 以非泛型类为父类 424

13.5 泛型接口 425

13.6 泛型方法 427

13.6.1 定义泛型方法 427

13.6.2 使用泛型方法 428

13.7 小结 429

第14章 Java集合(教学视频:25分钟) 430

14.1 认识集合 430

14.1.1 集合的基本概念 430

14.1.2 Collection接口 431

14.1.3 面试和笔试宝典 432

14.2 List接口 433

14.2.1 认识List接口 433

14.2.2 数组列表类:ArrayList类 433

14.2.3 链表类:LinkedList类 437

14.2.4 面试和笔试宝典 440

14.3 Set接口 442

14.3.1 认识Set接口 442

14.3.2 散列集:HashSet类 442

14.3.3 树集:TreeSet类 445

14.4 集合的输出 449

14.4.1 迭代输出:Iterator接口 449

14.4.2 Java新支持:foreach 451

14.5 Map接口 452

14.5.1 Map映射接口 452

14.5.2 Map.Entry接口简介 453

14.5.3 哈希映射类:HashMap类 453

14.5.4 有序树映射类:TreeMap类 457

14.5.5 面试和笔试宝典 459

14.6 集合工具类:Collections 459

14.6.1 Collections类 459

14.6.2 面试和笔试宝典 462

14.7 其他集合 463

14.7.1 向量类:Vector类 463

14.7.2 栈:Stack类 464

14.7.3 哈希表:Hashtable类 465

14.7.4 面试和笔试宝典 466

14.8 小结 467

第15章 枚举(教学视频:9分钟) 468

15.1 为何要使用枚举 468

15.2 定义枚举类型 470

15.2.1 常见的枚举定义方法 470

15.2.2 在switch语句中使用枚举 471

15.2.3 面试和笔试宝典 472

15.3 枚举类:Enum 472

15.4 类集的枚举操作:EnumMap和EnumSet 476

15.4.1 EnumMap类 476

15.4.2 EnumSet类 477

15.5 枚举类与接口 481

15.6 枚举类与抽象方法 482

15.7 小结 483

第16章 Java反射机制(教学视频:24分钟) 484

16.1 认识Class类 484

16.1.1 Class类与Java反射 484

16.1.2 使用Object类的getClass()方法获取类信息 486

16.1.3 用Class类来加载对象 487

16.1.4 使用类标记 488

16.2 使用反射机制生成并操作对象 488

16.2.1 通过无参构造实例化对象 488

16.2.2 调用有参构造实例化对象 491

16.3 Java反射机制的应用 493

16.3.1 获取实现的全部接口 493

16.3.2 获取父类 494

16.3.3 访问成员变量 495

16.3.4 访问成员方法 498

16.3. 5通过反射操作数组 502

16.4 小结 504

第17章 Java与数据库(教学视频:30分钟) 505

17.1 数据库简介 505

17.1.1 数据库的概念 505

17.1.2 数据库系统的特点 506

17.1.3 数据库的分类 507

17.1.4 面试和笔试宝典 508

17.2 一个精小强悍的数据库——MySQL 508

17.2.1 MySQL简介 508

17.2.2 MySQL的安装和配置 509

17.2.3 MySQL的使用 514

17.3 数据库的基本操作语句 515

17.3.1 SQL语句分类 516

17.3.2 CREATE建表语句 516

17.3.3 INSERT插入语句 518

17.3.4 SELECT查询语句 519

17.3.5 DELETE删除语句 520

17.3.6 UPDATE更新语句 521

17.3.7 ALTER修改表语句 522

17.3.8 DROP删除表语句 523

17.3.9 MySQL中的数据类型 523

17.3.10 面试和笔试宝典 525

17.4 JDBC简介 526

17.4.1 认识JDBC 526

17.4.2 JDBC常见接口和类 528

17.5 连接数据库 533

17.5.1 配置MySQL数据库的驱动程序 534

17.5.2 JDBC连接数据库步骤 534

17.5.3 测试连接MySQL数据库 535

17.5.4 面试和笔试宝典 536

17.6 Java对数据库的更新操作 537

17.6.1 执行数据库插入操作 537

17.6.2 修改数据 540

17.6.3 执行数据库删除操作 541

17.7 接收操作数据库结果 542

17.7.1 查询数据 542

17.7.2 面试和笔试宝典 544

17.8 预处理操作:PreparedStatement接口 545

17.8.1 PreparedStatement接口简介 545

17.8.2 使用PreparedStatement对数据库进行操作 546

17.9 事务处理 548

17.9.1 事务简介和MySQL对事务的支持 548

17.9.2 执行事务处理 549

17.9.3 面试和笔试宝典 551

17.10 小结 552

第18章 Java网络编程(教学视频:21分钟) 553

18.1 网络编程的基础知识 553

18.1.1 TCP/IP协议——常用的传输协议 553

18.1.2 IP地址——计算机的标识 554

18.1.3 端口——通信的窗口 555

18.1.4 套接字——应用程序与端口的桥梁 556

18.1.5 URL——Internet资源的门牌号 556

18.1.6 面试和笔试宝典 557

18.2 Inetaddress类 559

18.2.1 获取本机的IP信息 560

18.2.2 根据域名获取IP 560

18.3 URL类和URLConnection类 561

18.3.1 URL类 561

18.3.2 URLConnection类 563

18.4 TCP程序设计 565

18.4.1 ServerSocket类 565

18.4.2 Socket类 566

18.4.3 Socket通信过程:一对一的TCP程序 568

18.4.4 Socket通信过程:一对多的TCP程序 570

18.4.5 面试和笔试宝典 571

18.5 UDP程序设计 573

18.5.1 UDP简介 573

18.5.2 DatagramPacket类 573

18.5.3 DatagramSocket类 574

18.5.4 UDP程序实现 575

18.6 小结 577

第4篇 Java开发实践 580

第19章 Java图形界面(教学视频:41分钟) 580

19.1 Swing概述 580

19.1.1 认识Swing 580

19.1.2 Swing与AWT的对比 582

19.2 基本容器:JFrame 583

19.3 标签组件:JLabel 585

19.4 按钮组件:JButton 589

19.5 面板组件:JPanel 590

19.6 滚动面板:JScrollPane 592

19.7 布局管理器 593

19.7.1 流式布局管理器:FlowLayout 593

19.7.2 边界布局管理器:BorderLayout 595

19.7.3 网格布局管理器:GridLayout 596

19.7.4 网格包布局管理器:GridBagLayout 598

19.7.5 卡片布局管理器:CardLayout 600

19.7.6 绝对定位 601

19.7.7 面试和笔试宝典 602

19.8 事件处理 603

19.8.1 事件处理的基本概念 603

19.8.2 窗体事件 604

19.8.3 键盘事件 607

19.8.4 鼠标事件 608

19.8.5 行为事件 610

19.8.6 面试和笔试宝典 611

19.9 文本组件 612

19.9.1 单行文本组件:JTextField 612

19.9.2 密码框组件:JPasswordField 612

19.10 小结 617

第20章 Eclipse开发工具(教学视频:11分钟) 620

20.1 Eclipse简介 620

20.2 安装Eclipse 621

20.3 Eclipse工作台 622

20.3.1 认识Eclipse工作台 622

20.3.2 认识Eclipse菜单栏 623

20.4 Eclipse开发程序 627

20.4.1 如何创建Java项目 627

20.4.2 如何创建Java类 627

20.4.3 如何导入项目实现包 628

20.4.4 如何运行Java程序 629

20.5 Eclipse程序调试 629

20.6 小结 631

第21章 Java项目开发案例——学生管理系统(教学视频:29分钟) 632

21.1 系统概述 632

21.1.1 开发背景 632

21.1.2 需求分析 632

21.1.3 数据库设计 633

21.2 系统演示 634

21.2.1 程序预览 634

21.2.2 创建Java项目 636

21.2.3 添加MySQL数据库驱动 636

21.2.4 数据库设置 637

21.3 登录模块实现 637

21.3.1 登录界面类 637

21.3.2 登录检测类 640

21.4 学生查看模块 641

21.4.1 学生查看信息界面设计 641

21.4.2 查看信息功能的实现 643

21.5 教师相关模块 645

21.5.1 教师管理界面 645

21.5.2 添加学生界面 646

21.5.3 添加学生功能实现 649

21.5.4 删除学生界面 651

21.5.5 删除学生功能 653

21.5.6 查询指定学生界面 653

21.5.7 查询全部学生界面 655

21.5.8 查询全部学生功能 658

21.5.9 获取学生成绩 659

21.6 小结 661