第1章 Java语言概述 1
1.1 程序设计语言的发展史 1
1.2 Java语言的发展史 4
1.3 Java开发环境的配置 6
1.4 Java程序开发过程及常用工具介绍 9
1.4.1 Java程序工作原理 9
1.4.2 用记事本开发 9
1.4.3 用Eclipse开发 11
1.4.4 用JCreator开发 15
第2章 Java基础语法 18
2.1 标识符和关键字 18
2.2 基本数据类型 20
2.2.1 布尔型 20
2.2.2 字符型 21
2.2.3 整数型 22
2.2.4 浮点型 24
2.2.5 类型转换 25
2.3 常量与变量 29
2.4 运算符 31
2.4.1 算术运算符 32
2.4.2 关系运算符 34
2.4.3 逻辑运算符 35
2.4.4 位运算符 37
2.4.5 赋值类运算符 38
2.4.6 条件运算符 39
2.4.7 对象运算符 39
2.5 语句 40
2.5.1 分支语句 40
2.5.2 循环语句 44
2.5.3 跳转语句 47
2.5.4 注释语句 51
2.6 输入参数方式 52
第3章 类和对象 57
3.1 面向对象技术基础 57
3.1.1 面向对象基本概念 57
3.1.2 面向对象基本特征 59
3.2 类 61
3.2.1 类的定义 61
3.2.2 成员变量与成员方法 63
3.2.3 构造方法 64
3.2.4 main方法 66
3.3 对象 67
3.3.1 对象的生成与使用 67
3.3.2 变量的作用域 69
3.3.3 对象的内存分配机制 70
3.3.4 方法参数的传递 72
3.3.5 对象的清除 76
3.4 this关键字 77
3.5 static关键字 79
3.6 final关键字 84
3.7 import和包 86
第4章 类的封装性、继承性、多态性及接口 90
4.1 封装性 90
4.1.1 类的访问控制方式 90
4.1.2 类成员的访问控制方式 90
4.1.3 封装性的设计原则 92
4.2 继承性 92
4.2.1 extends关键字 92
4.2.2 super关键字 95
4.2.3 构造方法的继承性 97
4.3 多态性 102
4.3.1 方法重载 102
4.3.2 方法覆盖 104
4.4 抽象类 108
4.5 接口 111
4.5.1 接口的定义 111
4.5.2 接口的实现 113
4.5.3 接口的作用 116
4.5.4 接口与抽象类的区别 120
4.6 特殊的类 121
4.6.1 实名内部类 121
4.6.2 匿名内部类 125
4.6.3 泛型类 128
4.6.4 Class类 132
第5章 数组、字符串和枚举 134
5.1 数组 134
5.1.1 一维数组 134
5.1.2 二维数组 137
5.1.3 数组的注意事项 139
5.1.4 数组的应用 139
5.2 字符串 141
5.2.1 不可变字符串:String 142
5.2.2 可变字符串 149
5.2.3 String与Stri ngBuf f er的异同 151
5.3 字符串与其他数据类型的转换 153
5.3.1 将其他数据转换成字符串 153
5.3.2 将字符串转换成其他数据 156
5.4 枚举 158
5.4.1 枚举定义 158
5.4.2 枚举变量和常量 158
5.4.3 枚举的常见用法 159
第6章 Java常用类及接口 163
6.1 Java API类库 163
6.2 java.lang包 164
6.2.1 Object类 166
6.2.2 Math类 167
6.2.3 System类 168
6.2.4 Runtime类 172
6.3 java.util包 174
6.3.1 Date类 176
6.3.2 Calendar类 177
6.3.3 Random类 180
6.3.4 无序集合:Collection接口和Collections类 183
6.3.5 有序集合:List接口和ArrayList 、LinkedList和 Vector类 184
6.3.6 非重复集合:Set接口和HashSet、TreeSet及LinkedHashSet类 191
6.3.7 映射集合:Map接口和TreeMap类 192
6.3.8 for循环简化写法在集合、数组中的应用 193
第7章 异常处理 198
7.1 为什么要进行异常处理 198
7.2 Java中的异常类 199
7.3 异常处理模式 201
7.3.1 try-catch-finally语句 201
7.3.2 异常类成员方法 203
7.3.3 异常捕获与处理 203
7.4 重新抛出异常 205
7.4.1 throws语句 205
7.4.2 throw语句 206
7.5 异常处理原则 207
第8章 流和文件 208
8.1 流的基本概念 208
8.2 字节 流 209
8.2.1 输入字节 流 209
8.2.2 输出字节 流 210
8.3 字符流 212
8.3.1 输入字符流 212
8.3.2 输出字符流 213
8.3.3 字符缓冲流 216
8.3.4 字节 流和字符流的异同 218
8.4 文件 218
8.4.1 文件属性类 218
8.4.2 随机访问文件类 222
8.4.3 文件过滤接口 224
8.5 对象序列化 226
8.5.1 序列化是什么 226
8.5.2 什么情况下需要序列化 226
8.5.3 对象序列化时发生了什么 227
8.5.4 实现序列化的步骤 227
8.5.5 序列化对象的条件 227
8.5.6 反序列化 228
8.5.7 序列化注意事项 229
8.6 Java中的乱码问题 230
8.6.1 Java中字符的表达 230
8.6.2 Unicode简介 230
8.6.3 Unicode编码方式 231
8.6.4 Unicode实现方式 232
8.6.5 字节 序 237
8.6.6 其他编码方式 238
8.6.7 Java中的Unicode 241
8.6.8 如何处理中文乱码问题 248
第9章 图形用户界面编程 252
9.1 AWT与Swing 252
9.1.1 AWT 252
9.1.2 Swing 253
9.2 容器组件 255
9.2.1 JFrame 255
9.2.2 JPanel 261
9.2.3 JScrollPane 262
9.2.4 JSplitPane 263
9.3 菜单和工具条 264
9.3.1 菜单组件 264
9.3.2 工具栏组件 267
9.4 基本组件 269
9.4.1 标签 269
9.4.2 单行文本框 271
9.4.3 按钮 272
9.4.4 下拉框 274
9.4.5 列表框 276
9.4.6 多行文本框 278
9.4.7 表格组件 279
9.4.8 树形组件 283
9.4.9 进度条组件 291
9.5 组件常用方法 294
9.5.1 颜色 294
9.5.2 透明性 295
9.5.3 边框 295
9.5.4 字体 296
9.5.5 大小与位置 299
9.5.6 激活与可见性 300
9.6 布局管理器 300
9.6.1 流式布局 301
9.6.2 边界布局 302
9.6.3 盒式布局 303
9.6.4 网格布局 304
9.6.5 卡片布局 305
9.6.6 网格包布局 307
9.6.7 布局基本原则及复杂布局举例 313
9.6.8 界面风格的选择 315
9.7 事件处理模型 317
9.7.1 事件处理机制 317
9.7.2 事件对象 317
9.7.3 监听器接口 319
9.7.4 编写事件处理程序 320
9.8 鼠标事件处理 324
9.9 事件适配器类 326
9.1 0键盘事件处理 328
第10章 多线程 331
10.1 线程简介 331
10.1.1 进程与线程 331
10.1.2 线程生命周期 331
10.2 编写线程程序 333
10.2.1 第一种方法:继承Thread类 333
10.2.2 第二种方法:实现Runable接口 334
10.2.3 两种方法比较 336
10.2.4 线程基本控制方法 337
10.3 线程互斥与同步 342
10.3.1 多线程同步的基本原理 344
10.3.2 多线程同步实例 344
10.4 后台线程 347
第11章 网络编程 349
11.1 网络编程基础 349
11.1.1 网络编程的两个基本问题 349
11.1.2 网络编程相关的基本概念 349
11.2 URL编程 350
11.2.1 URL简介 350
11.2.2 URL类 351
11.2.3 从URL读取万维网资源 352
11.2.4 网络编程的乱码问题 354
11.2.5 利用URLConnection实现双向通信 355
11.3 Socket编程 357
11.3.1 Socket编程的过程 357
11.3.2 利用Socket实现断点续传 359
11.3.3 利用Socket实现聊天程序 369
11.4 IntelAddress类 374
11.4.1 获取本机的计算机名与IP地址 375
11.4.2 获取Internet上主机的IP地址 375
第12章 数据库编程 378
12.1 JDBC概述 378
12.1.1 JDBC模型 378
12.1.2 JDBC驱动方式 379
12.2 JDBC API 381
12.3 JDBC编程实例 383
12.3.1 JDBC驱动程序设置 383
12.3.2 建立数据库连接 384
12.3.3 添加记录 393
12.3.4 查询记录 397
12.3.5 删除记录 401
12.3.6 修改记录 404
12.3.7 数据库操作综合实例 408
12.3.8 SQL数据库常用命令 419
第13章 XML及程序打包 422
13.1 XML简介 422
13.2 XML在Java程序中的应用 426
13.2.1 DOM编程 426
13.2.2 加载XML文件 430
13.2.3 访问XML元素和属性 432
13.2.4 利用XML文件存储信息 434
13.3 Java程序的发布 440
13.3.1 利用cmd工具打包 441
13.3.2 利用Eclipse打包 445
参考文献 449