图书目录

目录

第1章    Java入门

1.1  Java的地位 1

1.1.1  网络地位 2

1.1.2  语言地位 2

1.1.3  需求地位 2

1.2  Java的特点 2

1.2.1  简单 2

1.2.2  面向对象 2

1.2.3  平台无关 3

1.2.4  多线程 4

1.2.5  动态 4

1.3  安装JDK 5

1.3.1  平台简介 5

1.3.2  安装Java SE平台 5

1.3.3  系统环境的设置 7

1.4  Java程序的开发步骤 8

1.5  简单的Java应用程序 9

1.5.1  源文件的编写与保存 9

1.5.2  编译 10

1.5.3  运行 11

1.6  Java反编译 13

1.7  编程风格 13

1.7.1  Allmans风格 13

1.7.2  Kernighan风格 14

1.7.3  注释 14

1.8  Java之父——James Gosling 15

1.9  小结 15

习题1 15

第2章    基本数据类型与数组

2.1  标识符与关键字 17

2.1.1  标识符 17

2.1.2  Unicode字符集 17

2.1.3  关键字 18

2.2  基本数据类型 18

2.2.1  逻辑类型 18

2.2.2  整数类型 18

2.2.3  字符类型 19

2.2.4  浮点类型 20

2.3  类型转换运算 21

2.4  输入、输出数据 23

2.4.1  输入基本型数据 23

2.4.2  输出基本型数据 23

2.5  数组 24

2.5.1  声明数组 24

2.5.2  为数组分配元素 25

2.5.3  数组元素的使用 26

2.5.4  length的使用 27

2.5.5  数组的初始化 27

2.5.6  数组的引用 27

2.6  应用举例 29

2.7  小结 30

习题2 30

第3章    运算符、表达式和语句

3.1  运算符与表达式 33

3.1.1  算术运算符与算术表达式 33

3.1.2  自增、自减运算符 33

3.1.3  算术混合运算的精度 34

3.1.4  关系运算符与关系表达式 34

3.1.5  逻辑运算符与逻辑表达式 34

3.1.6  赋值运算符与赋值表达式 35

3.1.7  位运算符 35

3.1.8  instanceof运算符 37

3.1.9  运算符综述 37

3.2  语句概述 38

3.3  if条件分支语句 38

3.3.1  if语句 38

3.3.2  if-else语句 39

3.3.3  if-else if-else语句 40

3.4  switch开关语句 41

3.5  循环语句 43

3.5.1  for循环语句 43

3.5.2  while循环语句 44

3.5.3  do-while循环语句 44

3.6  break和continue语句 45

3.7  for语句与数组 46

3.8  应用举例 47

3.9  小结 47

习题3 48

第4章    类与对象

4.1  编程语言的几个发展阶段 50

4.1.1  面向机器语言 50

4.1.2  面向过程语言 50

4.1.3  面向对象语言 51

4.2  类 52

4.2.1  类声明 52

4.2.2  类体 53

4.2.3  成员变量 53

4.2.4  方法 55

4.2.5  需要注意的问题 57

4.2.6  类的UML图 57

4.3  构造方法与对象的创建 57

4.3.1  构造方法 58

4.3.2  创建对象 59

4.3.3  使用对象 62

4.3.4  对象的引用和实体 63

4.4  类与程序的基本结构 66

4.5  参数传值 68

4.5.1  传值机制 68

4.5.2  基本数据类型参数的传值 68

4.5.3  引用类型参数的传值 69

4.5.4  可变参数 70

4.6  对象的组合 71

4.6.1  组合与复用 72

4.6.2  类的关联关系和依赖关系的UML图 76

4.7  实例成员与类成员 77

4.7.1  实例变量和类变量的声明 77

4.7.2  实例变量和类变量的区别 77

4.7.3  实例方法和类方法的定义 79

4.7.4  实例方法和类方法的区别 79

4.8  方法重载 81

4.8.1  方法重载的语法规则 81

4.8.2  避免重载出现歧义 83

4.9  this关键字 84

4.9.1  在构造方法中使用this 84

4.9.2  在实例方法中使用this 84

4.10  包 86

 4.10.1  包语句 86

 4.10.2  有包名的类的存储目录 86

 4.10.3  运行有包名的主类 87

4.11  import语句 88

 4.11.1  引入类库中的类 88

 4.11.2  引入自定义包中的类 90

4.12  访问权限 91

 4.12.1  何谓访问权限 91

 4.12.2  私有变量和私有方法 92

 4.12.3  共有变量和共有方法 93

 4.12.4  友好变量和友好方法 93

 4.12.5  受保护的成员变量和方法 94

 4.12.6  public类与友好类 95

4.13  基本类型的类封装 95

 4.13.1  Double和Float类 95

 4.13.2  Byte、Short、Integer、Long类 95

 4.13.3  Character类 95

4.14  对象数组 96

4.15  JRE扩展与jar文件 97

4.16  文档生成器 98

4.17  应用举例 99

4.18  小结 105

习题4 105

第5章    子类与继承

5.1  子类与父类 112

5.1.1  子类 112

5.1.2  类的树形结构 113

5.2  子类的继承性 113

5.2.1  子类和父类在同一包中的继承性 113

5.2.2  子类和父类不在同一包中的继承性 115

5.2.3  继承关系(Generalization)的UML图 115

5.2.4  protected的进一步说明 115

5.3  子类与对象 115

5.3.1  子类对象的特点 115

5.3.2  关于instanceof运算符 117

5.4  成员变量的隐藏和方法重写 117

5.4.1  成员变量的隐藏 117

5.4.2  方法重写 118

5.5  super关键字 122

5.5.1  用super操作被隐藏的成员变量和方法 122

5.5.2  使用super调用父类的构造方法 124

5.6  final关键字 125

5.6.1  final类 125

5.6.2  final方法 125

5.6.3  常量 125

5.7  对象的上转型对象 126

5.8  继承与多态 128

5.9  abstract类和abstract方法 129

5.10  面向抽象编程 131

5.11  开-闭原则 134

5.12  应用举例 135

5.13  小结 138

习题5 138

第6章    接口与实现

6.1  接口 145

6.2  实现接口 146

6.3  接口的UML图 148

6.4  接口回调 149

6.5  理解接口 150

6.6  接口与多态 152

6.7  接口参数 153

6.8  abstract类与接口的比较 154

6.9  面向接口编程 155

6.10  应用举例 155

6.11  小结 158

习题6 158

第7章    内部类与异常类

7.1  内部类 162

7.2  匿名类 163

7.2.1  和子类有关的匿名类 163

7.2.2  和接口有关的匿名类 165

7.3  异常类 166

7.3.1  try-catch语句 167

7.3.2  自定义异常类 168

7.4  断言 169

7.5  应用举例 171

7.6  小结 172

习题7 172

第8章    常用实用类

8.1  String类 175

8.1.1  构造String对象 175

8.1.2  字符串的并置 177

8.1.3  String类的常用方法 178

8.1.4  字符串与基本数据的相互转化 182

8.1.5  对象的字符串表示 183

8.1.6  字符串与字符数组、字节数组 184

8.1.7  正则表达式及字符串的替换与分解 186

8.2  StringTokenizer类 191

8.3  Scanner类 192

8.4  StringBuffer类 194

8.4.1  StringBuffer对象 194

8.4.2  StringBuffer类的常用方法 195

8.5  Date类与Calendar类 196

8.5.1  Date类 197

8.5.2  Calendar类 197

8.6  日期的格式化 200

8.6.1  format方法 200

8.6.2  不同区域的星期格式 202

8.7  Math类、BigInteger类和Random类 202

8.7.1  Math类 202

8.7.2  BigInteger类 203

8.7.3  Random类 204

8.8  数字格式化 206

8.8.1  format方法 206

8.8.2  格式化整数 207

8.8.3  格式化浮点数 208

8.9  Class类与Console类 209

8.9.1  Class类 209

8.9.2  Console类 211

8.10  Pattern类与Matcher类 212

8.11  应用举例 214

8.12  小结 215

习题8 216

第9章    组件及事件处理

9.1  Java Swing概述 221

9.2  窗口 222

9.2.1  JFrame常用方法 222

9.2.2  菜单条、菜单、菜单项 224

9.3  常用组件与布局 225

9.3.1  常用组件 225

9.3.2  常用容器 227

9.3.3  常用布局 228

9.4  处理事件 233

9.4.1  事件处理模式 233

9.4.2  ActionEvent事件 234

9.4.3  ItemEvent事件 238

9.4.4  DocumentEvent事件 241

9.4.5  MouseEvent事件 244

9.4.6  焦点事件 249

9.4.7  键盘事件 249

9.4.8  窗口事件 252

9.4.9  匿名类实例或窗口做监视器 253

9.4.10  事件总结 256

9.5  使用MVC结构 256

9.6  对话框 259

9.6.1  消息对话框 259

9.6.2  输入对话框 260

9.6.3  确认对话框 262

9.6.4  颜色对话框 264

9.6.5  自定义对话框 265

9.7  树组件与表格组件 266

9.7.1  树组件 266

9.7.2  表格组件 269

9.8  按钮绑定到键盘 271

9.9  打印组件 273

9.10  发布GUI程序 275

9.11  应用举例 276

9.12  小结 279

习题9 279

第10章    输入、输出流

10.1  File类 281

 10.1.1  文件的属性 282

 10.1.2  目录 283

 10.1.3  文件的创建与删除 284

 10.1.4  运行可执行文件 284

10.2  文件字节输入流 285

10.3  文件字节输出流 287

10.4  文件字符输入、输出流 289

10.5  缓冲流 290

10.6  随机流 292

10.7  数组流 295

10.8  数据流 297

10.9  对象流 299

10.10  序列化与对象克隆 301

10.11  使用Scanner解析文件 303

10.12  文件对话框 306

10.13  带进度条的输入流 308

10.14  文件锁 309

10.15  应用举例 311

10.16  小结 318

习题10 319

第11章    JDBC与MySQL数据库

11.1  MySQL数据库管理系统 322

11.2  启动MySQL数据库服务器 323

11.3  MySQL客户端管理工具 325

11.4  JDBC 327

11.5  连接数据库 328

11.6  查询操作 330

 11.6.1  顺序查询 332

 11.6.2  控制游标 333

 11.6.3  条件与排序查询 335

11.7  更新、添加与删除操作 337

11.8  使用预处理语句 338

 11.8.1  预处理语句的优点 338

 11.8.2  使用通配符 339

11.9  通用查询 340

11.10  事务 343

   11.10.1  事务及处理 343

   11.10.2  JDBC事务处理步骤 343

11.11  连接SQL Server数据库 345

11.12  连接Derby数据库 346

11.13  应用举例 348

   11.13.1  设计思路 348

   11.13.2  具体设计 349

   11.13.3  用户程序 356

11.14  小结 357

习题11 358

第12章    Java多线程机制

12.1  进程与线程 359

 12.1.1  操作系统与进程 359

 12.1.2  进程与线程 359

12.2  Java中的线程 360

 12.2.1  Java的多线程机制 360

 12.2.2  主线程(main线程) 360

 12.2.3  线程的状态与生命周期 361

 12.2.4  线程调度与优先级 364

12.3  Thread类与线程的创建 365

 12.3.1  使用Thread的子类 365

 12.3.2  使用Thread类 365

 12.3.3  目标对象与线程的关系 367

 12.3.4  关于run方法启动的次数 369

12.4  线程的常用方法 369

12.5  线程同步 373

12.6  协调同步的线程 375

12.7  线程联合 377

12.8  GUI线程 378

12.9  计时器线程 382

12.10  守护线程 384

12.11  应用举例 385

12.12  小结 388

习题12 389

第13章    Java网络编程

13.1  URL类 396

 13.1.1  URL的构造方法 396

 13.1.2  读取URL中的资源 397

13.2  InetAddress类 398

 13.2.1  地址的表示 398

 13.2.2  获取地址 398

13.3  套接字 399

 13.3.1  套接字概述 399

 13.3.2  客户端套接字 400

 13.3.3  ServerSocket对象与服务器端套接字 400

 13.3.4  使用多线程技术 403

13.4  UDP数据报 407

 13.4.1  发送数据包 407

 13.4.2  接收数据包 408

13.5  广播数据报 411

13.6  Java远程调用 414

 13.6.1  远程对象及其代理 414

 13.6.2  RMI的设计细节 415

13.7  应用举例 418

13.8  小结 423

习题13 424

第14章    图形、图像与音频

14.1  绘制基本图形 425

14.2  变换图形 427

14.3  图形的布尔运算 429

14.4  绘制钟表 430

14.5  绘制图像 433

14.6  播放音频 434

14.7  应用举例 437

14.8  小结 439

习题14 439

第15章    泛型与集合框架

15.1  泛型 441

 15.1.1  泛型类声明 441

 15.1.2  使用泛型类声明对象 442

15.2  链表 444

 15.2.1  LinkedList<E>泛型类 444

 15.2.2  常用方法 445

 15.2.3  遍历链表 445

 15.2.4  排序与查找 447

 15.2.5  洗牌与旋转 449

15.3  堆栈 450

15.4  散列映射 451

 15.4.1  HashMap<K,V>泛型类 451

 15.4.2  常用方法 452

 15.4.3  遍历散列映射 452

 15.4.4  基于散列映射的查询 452

15.5  树集 454

 15.5.1  TreeSet<E>泛型类 454

 15.5.2  结点的大小关系 454

 15.5.3  TreeSet类的常用方法 455

15.6  树映射 456

15.7  自动装箱与拆箱 458

15.8  应用举例 459

15.9  小结 463

习题15 464