第1章 Java简介 1
1.1 Java语言的发展历史及特点 1
1.1.1 发展历史 1
1.1.2 编程语言的特点 2
1.1.3 应用领域与发展前景 3
1.2 建立Java开发环境 4
1.2.1 安装JDK 4
1.2.2 Java集成开发工具eclipse下载和安装 9
1.3 Java程序工作原理与开发流程 14
小结 15
习题 16
第二章 Java语言基础 17
2.1 标识符和关键字 17
2.2 数据类型 19
2.2.1 基本数据类型 20
2.2.2 常量与变量 21
2.3 运算逻辑 22
2.3.1 算术运算符 23
2.3.2 关系运算符 23
2.3.3 逻辑运算符 24
2.3.4 位运算符 25
2.4 控制流程 27
2.4.1 分支语句if/switch 27
2.4.2 循环语句while/do-while/for 31
2.4.3 跳转语句break/continue 35
小结 36
习题 37
第三章 Java面向对象编程基础 38
3.1 类与对象 38
3.1.1 类的定义 40
3.1.2 对象的创建与使用 41
3.2 变量与方法 44
3.2.1 实例变量与静态变量 44
3.2.2 方法的声明与调用 46
3.2.3 方法的参数传递 48
3.2.4 变量与方法的使用范围 50
3.3 包与封装 53
3.3.1 包 53
3.3.2 封装 57
3.4 继承与多态 61
3.4.1 继承性 61
3.4.2 多态性 71
3.5 抽象与接口 74
3.5.1 抽象类 74
3.5.2 接口 77
3.6 内部类 84
3.6.1 实名内部类 84
3.6.2 匿名内部类 88
小结 90
习题 90
第四章 数组和字符串 91
4.1 数组的基本操作 91
4.1.1 一维数组 91
4.1.2 多维数组 95
4.2 字符串操作 97
4.2.1 常量字符串String 98
4.2.2 变量字符串StringBuffer 107
小结 111
习题 112
第五章 异常处理 113
5.1 异常的类型 113
5.2 异常处理结构 115
5.2.1 捕获异常 116
5.2.2 抛出异常 121
5.3 自定义异常类型 123
小结 125
习题 126
第六章 文件与数据处理 127
6.1 字节流与字符流 127
6.1.1 字节流类和字符流类概述 127
6.1.2 标准输入输出流 129
6.1.3 数组流 130
6.1.4 字符串流 131
6.1.5 数据流 131
6.1.6 缓冲流 135
6.2 控制台输入输出操作 138
6.3 文件数据操作 140
6.3.1 FileInputStream和FileOutputStream 141
6.3.2 FileReader和FileWriter 143
6.3.3 文件目录操作 145
6.3.4 文件的随机存取操作 148
小结 151
习题 151
第七章 Java高级特性:泛型与枚举 152
7.1 泛型 152
7.1.1 定义泛型类与泛型方法 153
7.1.2 类型参数的基本用法 154
7.2 枚举 157
7.3 装箱与拆箱 160
小结 161
习题 161
第八章 集合类 162
8.1 集合接口与实现 162
8.2 迭代器(Iterator<T>) 163
8.3 集(set) 164
8.3.1 哈希集合类(HashSet<E>) 164
8.3.2 树集合类(TreeSet<E>) 166
8.4 列表(List) 168
8.4.1 矢量类(Vector<E>) 168
8.4.2 链表类(LinkedList<E>) 170
8.4.3 堆栈类(Stack<E>) 173
8.5 映射(map) 175
8.5.1 哈希映射(HashMap<K,V>) 175
8.5.2 树映射(TreeMap<K,V>) 177
8.6 算法集合Collections类 181
小结 183
习题 183
第九章 Java实用工具类 184
9.1 Object类和Class类 184
9.2 Random类生成随机数 188
9.3 BigDecimal类与BigInteger类 190
9.4 Date类、GregorianCalendar类和DateFormat类 195
小结 198
习题 199
第十章 Swing图形用户界面(GUI)编程 200
10.1 组件与容器 200
10.1.1 Swing组件概述 200
10.1.2 顶层容器和中间容器 201
10.1.3 JLabel标签组件和JTextField文本框组件 203
10.1.4 JButton、JRadioButton单选框和JCheckBox复选框组件 204
10.1.5 JTextArea、JScrollPane、JList和JCombBox组件 205
10.2 布局管理器 208
10.2.1 流式布局FlowLayout 209
10.2.2 方位布局BorderLayout 210
10.2.3 网格布局GridLayout 211
10.2.4 卡片布局CardLayout 213
10.2.5 箱式布局BoxLayout 215
10.3 事件处理 217
10.3.1 Java事件处理模型 217
10.3.2 点击事件ActionEvent 219
10.3.3 鼠标事件MouseEvent和鼠标移动事件MouseMoveEvent 223
10.3.4 键盘事件KeyEvent和焦点事件FocusEvent 227
10.3.5 窗口事件WindowEvent 230
10.4 Swing高级组件编程 233
10.4.1 JMenu菜单组件 233
10.4.2 JTable表格组件 236
10.4.3 JTree树组件 241
10.4.4 多文档界面 244
小结 247
习题 248
第十一章 Applet应用 249
11.1 HTML与Applet 249
11.2 Applet的生命周期 251
11.3 开发小应用程序 253
11.3.1 利用Applet布局图片 254
11.3.2 弹出新窗口 256
11.3.3 利用Applet播放声音 260
11.4 在Web浏览器中使用Applet插件 261
11.4.1 采用Applet网页标记 261
11.4.2 归档文件压缩Jar 262
11.4.3 为Applet传递参数 263
11.5 应用程序与Applet的区别 265
小结 266
习题 266
第十二章 多线程编程 267
12.1 实现线程的方法 268
12.1.1 继承Thread类 268
12.1.2 实现Runnable接口 270
12.2 线程的生命周期 271
12.3 线程的调度 273
12.3.1 线程的优先级 273
12.3.2 线程的常用控制方法 275
12.4 线程同步 277
12.4.1 同步关键字synchronized 277
12.4.2 对象锁 283
12.4.3 wait()、notify()及notifyAll()方法 285
12.5 线程死锁 287
小结 289
习题 290
第十三章 网络编程 291
13.1 网络编程基础 291
13.2 URL编程 291
13.2.1 URL类 292
13.2.2 URLConnection类 294
13.2.3 InetAddress类 295
13.3 基于TCP的网络编程 296
13.3.1 ServerSocket类 297
13.3.2 Socket类 299
13.4 基于UDP的网络编程 301
13.4.1 DatagramPacket类 301
13.4.2 DatagramSocket类 302
小结 305
习题 305
第十四章 数据库编程 306
14.1 数据库与SQL语言介绍 306
14.1.1 数据库基本概念 306
14.1.2 SQL语言组成 307
14.1.3 SQL数据定义 308
14.1.4 SQL数据查询 309
14.1.5 SQL数据更新 310
14.2 JDBC概述 311
14.2.1 JDBC结构模型 311
14.2.2 JDBC API 311
14.2.3 JDBC驱动程序 313
14.3 JDBC数据库操作 315
14.3.1 JDBC工作原理 315
14.3.2 设置环境 315
14.3.3 加载可用驱动程序 318
14.3.4 创建与数据源的连接 318
14.3.5 执行SQL语句 320
14.3.6 处理查询结果 321
14.3.7 关闭查询语句及与数据库的连接 322
14.4 综合应用 323
14.4.1 使用JDBC创建基本表及视图 323
14.4.2 使用JDBC执行数据库查询 325
14.4.3 使用JDBC更新数据库 330
14.5 数据库操作性能优化设计 332
14.5.1 优化Statement对象及Resultset对象 332
14.5.2 合理使用JDBC的数据库事务操作 334
14.5.3 采用数据连接池提高效率 334
小结 335
习题 335
附录A 实验指导 336
实验一 Java开发环境设置 336
实验二 Java基本控制结构 336
实验三 类和对象 337
实验四 封装、继承和包 341
实验五 多态和接口 343
实验六 数组、字符串和异常处理 345
实验七 文件输入与输出 347
实验八 图形用户界面设计——布局管理与事件处理 349
实验九 基于swing组件的GUI应用设计 351
实验十 Applet应用 356
实验十一 多线程应用 358
实验十二 网络编程 361
实验十三 数据库编程 364