第1章 概述 1
1.1 Java语言简介 1
1.1.1 Java的产生及其发展 1
1.1.2 Java语言的特点 1
1.2 Java虚拟机 2
1.2.1 高级编程语言的程序运行机制 2
1.2.2 Java虚拟机的作用及其特点 3
1.3 Java运行环境 4
1.3.1 Java运行环境简介 4
1.3.2 垃圾收集 4
1.3.3 Java运行环境的安装和配置 5
1.4 Java程序举例 6
第2章 面向对象的程序设计初步 9
2.1 面向对象的分析和设计简介 9
2.2 类和对象 10
2.2.1 类是对象的蓝图 10
2.2.2 类的声明 11
2.2.3 属性声明 12
2.2.4 方法声明 12
2.2.5 创建对象及访问对象成员 12
2.2.6 信息的隐藏和封装 13
2.3 构造方法 14
2.3.1 构造方法的声明 14
2.3.2 默认的构造方法 15
2.4 Java源文件的层次结构 16
第3章 标识符 关键字 数据类型 17
3.1 注释及分隔符 17
3.1.1 注释 17
案例3-1 javadoc文档化工具的使用 18
3.1.2 Java分隔符 19
3.2 标识符和关键字 20
3.2.1 标识符 20
3.2.2 Java关键字 21
3.3 Java数据类型 21
3.3.1 Java基本数据类型 22
3.3.2 Java引用类型 24
3.4 值传递 27
3.5 关键字this 31
3.6 Java语言编码惯例 32
3.6.1 命名惯例 32
3.6.2 源程序排版惯例 32
第4章 运算符 表达式和流程控制 34
4.1 变量 34
4.1.1 变量及其作用域 34
4.1.2 变量的初始化 35
4.2 运算符 36
4.2.1 算术运算符 36
4.2.2 关系运算符 38
4.2.3 逻辑运算符 38
4.2.4 位运算符 39
4.2.5 赋值运算符 40
4.2.6 字符串连接操作符+; 41
4.3 表达式 42
4.4 分支语句 42
4.4.1 if-else语句 43
4.4.2 switch语句 44
4.4.3 条件运算符?: 45
4.5 循环语句 46
4.5.1 for循环语句 47
4.5.2 while循环语句 48
4.5.3 do/while循环语句 48
4.6.1 break[label]语句 49
4.6 特殊的循环流控制语句 49
4.6.2 continue[label]语句 50
第5章 数组 52
5.1 一维数组 52
5.1.1 一维数组的声明 52
5.1.2 一维数组的创建和初始化 53
5.1.3 数组元素的引用 54
5.2 多维数组 55
5.2.1 二维数组 56
5.2.2 二维数组的使用 57
5.3 数组复制 58
案例5-1 整型数据进制转换 59
6.1.1 冒泡法排序 62
6.1 数据排序算法 62
第6章 数据结构基础 62
6.1.2 选择法排序 63
6.1.3 插入法排序 64
6.2 链表 66
6.2.1 单链表 66
6.2.2 链表操作 67
6.3 堆栈 69
案例6-1 四则表达式求值 71
第7章 面向对象的程序设计 78
7.1 包(package) 78
7.1.1 package语句 79
7.1.2 import语句 80
7.2.1 类的继承 82
7.1.3 JDK中主要的包 82
7.2 类的继承及相关机制 82
7.2.2 访问控制 85
7.2.3 方法的重写 86
7.2.4 多态性 89
7.2.5 对象造型 91
7.2.6 构造方法的重载和继承 93
7.2.7 Object类 97
7.3 关键字static和final 100
7.3.1 关键字static 100
7.3.2 Singleton设计模式 104
7.3.3 关键字final 104
7.4 抽象类 105
7.5 接口 107
7.6 内部类 109
第8章 Java异常处理 114
8.1 异常的概念及分类 114
8.1.1 什么是异常 114
8.1.2 Java异常分类 115
8.2 Java异常处理机制 116
8.2.1 捕获异常 116
8.2.2 声明抛弃异常 119
8.2.3 人工抛出异常 120
8.3 用户自定义异常 121
9.1.1 Java命令行参数 122
第9章 Java控制台应用程序设计 122
9.1 命令行参数和系统属性 122
9.1.2 系统属性 123
9.2 数据输入/输出 124
9.2.1 标准I/O操作 124
9.2.2 文件I/O操作 125
9.3 JDK常用类介绍 128
9.3.1 Math类 128
9.3.2 String类 129
9.3.3 StringBuffer类 131
9.4 Collection API简介 132
9.5 Deprecated API 135
案例9-1 猜数程序 136
第10章 高级I/O流编程 139
10.1 Java I/O基本原理 139
10.2 基本I/O类型 140
10.2.1 InputStream 140
10.2.2 OutputStream 141
10.2.3 Reader 142
10.2.4 Writer 142
10.3 I/O流的使用 143
10.3.1 FileInputStream/FileOutputStream 143
10.3.2 DataInputStream/DataOutputStream 144
10.3.3 ObjectInputStream/ObjectOutputStream 146
10.3.5 PipedInputStream/PipedOutputStream 148
10.3.4 ByteArrayInputStream/ByteArrayOutputStream 148
10.3.6 FileReader/FileWriter 150
10.3.7 BufferedReader/BufferedWriter 151
10.3.8 InputStreamReader/OutputStreamWriter 152
10.3.9 PrintStream/PrintWriter 152
第11章 Java GUI应用程序开发 153
11.1 Java GUI设计 153
11.1.1 抽象窗口工具集(AWT) 153
11.1.2 Java组件和容器 154
11.1.3 布局管理器 156
11.2 Java GUI事件处理机制 162
11.2.1 Java事件和事件处理 162
11.2.2 多重监听器 165
11.2.3 事件适配器 167
11.2.4 内部类和匿名类在Java事件处理中的应用 169
11.3 Java GUI应用程序开发 173
11.3.1 AWT组件综述 173
11.3.2 AWT菜单 175
11.3.3 颜色和字体 177
案例11-1 文本文件阅读器开发 178
第12章 线程 183
12.1 线程基本概念 183
12.1.1 什么是线程 183
12.1.2 多线程 185
12.1.3 创建线程的第二种方式 186
12.2.1 线程状态 187
12.2 线程状态控制 187
12.2.2 线程调度 190
12.3 线程的同步 192
12.3.1 临界资源问题 192
12.3.2 互斥锁 194
12.3.3 wait()和notify()方法 195
12.3.4 生产者-消费者问题 196
案例12-1 考试系统设计与实现 198
第13章 网络编程 211
13.1 网络基础知识简介 211
13.1.1 什么是计算机网络 211
13.1.2 网络通信协议及接口 212
13.2 URL 213
13.3 Socket编程 214
第14章 Java Applet 218
14.1 Applet简介 218
14.1.1 什么是Applet 218
14.1.2 Applet运行机制 219
14.1.3 Applet安全机制 220
14.2 Applet插件标记 221
14.3 Applet绘图 224
案例14-1 Java绘图板设计与实现 226
14.4 多媒体支持 233
14.4.1 图像处理 234
14.4.2 声音处理 236
14.4.3 Application的多媒体支持 239
14.5 JAR文件 241
第15章 Java数据库连接 244
15.1 数据库简介 244
15.2 JDBC 245
15.2.1 什么是JDBC 245
15.2.2 JDBC的基本应用 246
15.2.3 预处理语句和存储过程 250
15.3 JDBC-ODBC 251
15.3.1 设置ODBC数据源 252
15.3.2 JDBC-ODBC编程 253
案例15-1 电子书店设计与实现 257
附录1 SCJP模拟试题 271
附录2 SCJP试题分析 295