第1章 Java语言概述 1
1.1 Java语言的产生与发展 1
1.2 Java语言的特点 3
1.3 Java虚拟机与Java运行系统 4
1.3.1 Java虚拟机 5
1.3.2 Java运行系统 6
1.4 Java开发环境 7
1.4.1 JDK的安装与设置 7
1.4.2 JDK的环境工具及其使用 14
1.4.3 JDK下的Java编程 19
1.4.4 其他集成开发环境 22
1.5 小结 23
习题1 24
第2章 Java编程基础 25
2.1 Java程序示例 25
2.1.1 类加载器 26
2.1.2 编译Java程序或类 27
2.1.3 运行Java程序 27
2.2 变量与数据类型 28
2.2.1 标识符 28
2.2.2 变量 29
2.2.3 数据类型 29
2.2.4 数据类型转换 30
2.3 表达式和运算符 31
2.3.1 算术运算符 31
2.3.2 递增和递减运算符 32
2.3.3 赋值运算符 34
2.3.4 扩展赋值运算符 35
2.3.5 关系运算符 35
2.3.6 逻辑运算符 36
2.3.7 位运算符 37
2.3.8 运算符优先级 38
2.4 字符串类 39
2.4.1 字符串常量和变量 40
2.4.2 字符串连接 40
2.4.3 String类的方法 41
2.5 编程风格 45
2.5.1 常量的命名 45
2.5.2 Java书写习惯 46
2.5.3 注释 47
2.5.4 缩进 47
2.6 小结 48
习题2 48
第3章 控制台输入与输出 51
3.1 屏幕输出 51
3.1.1 System.out.println语句 51
3.1.2 货币格式 52
3.1.3 DecimalFormat类 54
3.2 使用BufferedReader输入 57
3.3 小结 58
习题3 59
第4章 流程控制语句 61
4.1 布尔表达式 61
4.1.1 计算布尔表达式值 62
4.1.2 短路计算和完全计算 64
4.2 分支语句 65
4.2.1 if-else语句 65
4.2.2 复合语句 65
4.2.3 嵌套语句 66
4.2.4 switch语句 66
4.3 循环语句 67
4.3.1 while语句 67
4.3.2 do-while语句 67
4.3.3 for语句 68
4.3.4 嵌套循环 69
4.4 跳转语句 69
4.5 小结 71
习题4 71
第5章 数组 75
5.1 数组概述 75
5.1.1 声明数组变量 75
5.1.2 创建并初始化数组对象 76
5.1.3 访问数组元素 77
5.1.4 修改数组元素 77
5.1.5 成员变量length 78
5.2 数组和引用 78
5.2.1 引用数组 78
5.2.2 返回数组 79
5.3 多维数组 80
5.3.1 成员变量length 80
5.3.2 不规则数组 81
5.4 小结 82
习题5 82
第6章 类 85
6.1 类的定义 85
6.1.1 类 85
6.1.2 对象与引用 86
6.1.3 方法 87
6.1.4 局部变量 88
6.1.5 方法参数 88
6.1.6 关键字this 89
6.2 限定符 90
6.2.1 访问控制限定符 90
6.2.2 限定符static 92
6.2.3 限定符final 93
6.3 构造函数 95
6.3.1 定义构造函数 95
6.3.2 重载构造函数 96
6.4 继承 100
6.4.1 派生类 100
6.4.2 保护访问和包访问 101
6.4.3 覆盖方法 103
6.4.4 super构造函数 104
6.4.5 this构造函数 105
6.5 包 105
6.5.1 包与import语句 105
6.5.2 包名和目录 106
6.5.3 默认包 107
6.5.4 编译时将类路径具体化 108
6.5.5 命名冲突 108
6.6 小结 108
习题6 109
第7章 多态和抽象类 113
7.1 多态 113
7.1.1 后期绑定 113
7.1.2 final修饰符 114
7.1.3 toString方法的后期绑定 116
7.1.4 向下强制转换和向上强制转换 118
7.1.5 clone方法 119
7.2 抽象类 121
7.3 小结 121
习题7 122
第8章 接口和内部类 123
8.1 接口 123
8.1.1 接口及其实现 123
8.1.2 抽象类实现接口 126
8.1.3 在接口中定义常量 127
8.2 内部类及其简单应用 128
8.2.1 帮助类 128
8.2.2 内部类的.class文件 130
8.2.3 匿名类 130
8.3 小结 131
习题8 132
第9章 异常处理 135
9.1 捕获和处理异常 135
9.1.1 try-catch语句 137
9.1.2 finally子句 140
9.1.3 异常类的层次结构 140
9.2 声明和抛出异常 141
9.2.1 throw子句 141
9.2.2 throws子句 143
9.2.3 派生类中的throws子句 144
9.2.4 何时使用异常 144
9.2.5 定义异常类 145
9.2.6 重抛异常 148
9.2.7 异常的捕获和声明规则 148
9.3 小结 149
习题9 149
第10章 文件输入和输出 153
10.1 文件输入输出简介 153
10.1.1 流 153
10.1.2 文本文件与二进制文件 154
10.2 文本文件 154
10.2.1 文本文件的操作 154
10.2.2 路径名 156
10.2.3 构造函数的嵌套调用 157
10.2.4 System.in、System.out和System.err 157
10.2.5 File类 158
10.3 二进制文件 158
10.3.1 读取写入简单数据 158
10.3.2 UTF和writeUTF 160
10.3.3 对象的二进制输入输出 161
10.3.4 序列化接口 164
10.4 随机访问二进制文件 164
10.5 小结 167
习题10 168
第11章 集合和迭代器 169
11.1 Collection容器 169
11.1.1 Collection接口 170
11.1.2 List接口 173
11.1.3 Set接口 180
11.2 Map容器 181
11.3 迭代器 181
11.3.1 Iterator接口 182
11.3.2 List迭代器 184
11.4 小结 189
习题11 190
第12章 线程 191
12.1 线程概述 191
12.2 线程的创建 192
12.3 线程的同步和死锁 194
12.3.1 线程的同步 194
12.3.2 notify()和wait()方法 195
12.3.3 死锁 195
12.4 线程的调度和优先级 196
12.5 类Thread 197
12.5.1 建立Thread类 198
12.5.2 启动Thread类 199
12.5.3 停止Thread运行 199
12.5.4 暂停Thread运行 200
12.6 小结 202
习题12 202
第13章 网络编程 203
13.1 网络的基本概念 203
13.1.1 IP 203
13.1.2 端口 205
13.1.3 套接字 205
13.1.4 网络协议 205
13.2 URL类 206
13.2.1 URL的概念 206
13.2.2 URL类的构造方法 207
13.2.3 查询URL属性 208
13.2.4 查询URL内容 209
13.3 URLConnection类 211
13.4 Socket类和ServerSocket类 212
13.4.1 Socket类 212
13.4.2 ServerSocket类 213
13.4.3 TCP网络编程的应用 213
13.5 DatagramSocket类和DatagramPacket类 215
13.6 小结 215
习题13 216
第14章 Java与数据库的连接 217
14.1 网络数据库系统 217
14.1.1 Client/Server系统 217
14.1.2 Browser/Server系统 218
14.2 ODBC与JDBC简介 220
14.2.1 ODBC 220
14.2.2 JDBC 220
14.2.3 JDBC-ODBC连接桥 221
14.3 Java与Microsoft Access的连接 222
14.4 Java与SQL Server 2000的连接 226
14.5 小结 231
习题14 231
附录 习题答案 233
习题1答案 233
习题2答案 234
习题3答案 236
习题4答案 237
习题5答案 239
习题6答案 240
习题7答案 243
习题8答案 243
习题9答案 243
习题10答案 245
习题11答案 246
习题12答案 246
习题13答案 247
习题14答案 249