第1章 Java程序设计语言概述 1
1.1 Java简介 1
1.2 Java语言诞生背景 1
1.3 Java语言的特点 2
1.4 安装Java程序开发工具 3
1.4.1 下载JDK 3
1.4.2 安装JDK 5
1.4.3 Windows系统下配置和测试JDK 6
1.5 Java SE 6的新特性 7
1.6 Java程序开发过程 7
1.7 Java开发工具Eclipse 8
1.7.1 Eclipse简介 8
1.7.2 Eclipse的安装与启动 8
1.7.3 Eclipse编写Java程序的流程 11
小结 14
习题 14
第2章 Java语言的基本语法 15
2.1 标识符和关键字 15
2.2 常量与变量 16
2.2.1 常量的概念及使用要点 16
2.2.2 变量的概念及使用要点 17
2.3 数据类型 17
2.3.1 基本数据类型 18
2.3.2 引用数据类型 21
2.3.3 基本类型与引用类型的区别 22
2.3.4 数据类型之间的相互转换 24
2.4 运算符 26
2.4.1 赋值运算符 26
2.4.2 算术运算符 27
2.4.3 关系运算符 28
2.4.4 逻辑运算符 29
2.4.5 位运算符 30
2.4.6 对象运算符(instanceof) 32
2.4.7 其他运算符 33
2.4.8 运算符的优先级别及结合性 34
2.5 字符串 34
2.5.1 创建字符串对象 35
2.5.2 连接字符串 35
2.5.3 字符串操作 36
2.5.4 格式化字符串 40
2.5.5 格式化日期和时间 41
2.6 数组 43
2.6.1 一维数组 43
2.6.2 二维数组 44
小结 45
习题 45
第3章 程序流程控制语句 46
3.1 分支语句 46
3.1.1 简单的if条件语句 46
3.1.2 if...else条件语句 47
3.1.3 if...else if多分支语句 48
3.1.4 if语句的嵌套 49
3.1.5 switch多分支语句 51
3.1.6 if语句和switch语句的区别 52
3.2 循环语句 52
3.2.1 for循环语句 52
3.2.2 while循环语句 53
3.2.3 do...while循环语句 54
3.2.4 循环的嵌套 55
3.3 跳转语句 57
3.3.1 break跳转语句 57
3.3.2 continue跳转语句 58
3.3.3 return跳转语句 59
小结 59
习题 59
第4章 面向对象基础 60
4.1 面向对象程序设计 60
4.1.1 面向对象程序设计概述 60
4.1.2 面向对象程序设计的特点 61
4.2 类和对象 62
4.2.1 定义类 62
4.2.2 了解成员方法 63
4.2.3 成员变量和局部变量 64
4.2.4 构造方法的概念及用途 65
4.2.5 对象生命周期 66
4.3 包 68
4.3.1 包的概念 68
4.3.2 创建包 68
4.3.3 使用包中的类 69
4.4 继承 69
4.4.1 继承的概念 69
4.4.2 子类对象的创建 70
4.4.3 继承的使用原则 70
4.4.4 使用this关键字 71
4.4.5 使用super关键字 72
4.5 多态 72
4.5.1 方法的重载 73
4.5.2 方法的覆盖 74
4.5.3 向上转型 75
4.6 特殊类 76
4.6.1 抽象类和抽象方法 76
4.6.2 final类 77
4.6.3 内部类 78
4.7 接口 82
4.7.1 定义接口 82
4.7.2 实现接口 83
小结 84
习题 85
第5章 集合 86
5.1 集合中主要接口的概述 86
5.2 Collection接口 87
5.2.1 addAll()方法 88
5.2.2 removeAll()方法 88
5.2.3 retainAll()方法 89
5.2.4 containsAll()方法 90
5.2.5 toArray()方法 90
5.3 List集合 91
5.3.1 List的用法 91
5.3.2 使用ArrayList类 93
5.3.3 使用LinkedList类 94
5.4 Set集合 96
5.4.1 使用HashSet类 96
5.4.2 使用TreeSet类 98
5.5 Map集合 102
5.5.1 Map的用法 103
5.5.2 使用HashMap类 104
5.5.3 使用TreeMap类 106
小结 108
习题 108
第6章 Java输入与输出(I/O) 109
6.1 File类 109
6.2 流 111
6.2.1 流的基本概念 111
6.2.2 输入输出流 111
6.3 字节流 112
6.3.1 InputStream类与OutputStream类 113
6.3.2 FileInputStream类 113
6.3.3 FileOutputStream类 114
6.4 字符流 115
6.4.1 Reader类与Writer类 115
6.4.2 InputStreamReader类 116
6.4.3 OutputStreamWriter类 117
6.4.4 FileReader类 118
6.4.5 FileWriter类 119
6.4.6 BufferedReader类 119
6.4.7 BufferedWriter类 120
6.4.8 PrintStream类 121
6.4.9 PrintWriter类 122
6.4.10 System.in获取用户输入 123
6.5 RandomAccessFile类 124
6.6 过滤器流 125
6.7 对象序列化(objectcserialization) 126
6.7.1 ObjectInput与ObjectOutput 126
6.7.2 ObjectInputStream与ObjectOutputStream 127
6.8 Scanner类 129
小结 130
习题 130
第7章 多线程与异常处理 131
7.1 线程概述 131
7.1.1 进程 131
7.1.2 线程 131
7.2 线程的创建 132
7.2.1 线程的创建方式 132
7.2.2 继承Thread类 133
7.2.3 实现Runnable接口 134
7.3 线程的生命周期 135
7.4 线程的优先级 135
7.5 线程的控制 136
7.5.1 线程的启动 136
7.5.2 线程的挂起 136
7.5.3 线程状态检查 138
7.5.4 结束线程 138
7.5.5 后台线程 139
7.6 线程的同步 139
7.7 线程通信 142
7.8 多线程产生死锁 145
7.9 异常 145
7.9.1 异常处理 146
7.9.2 异常类 151
7.9.3 Error类 152
7.9.4 Exception类 152
7.9.5 自定义异常 154
小结 155
习题 155
第8章 Swing程序设计 157
8.1 Swing概述 157
8.2 创建窗体 158
8.3 常用组件 159
8.3.1 JLabel(标签)组件 159
8.3.2 JButton(按钮)组件 160
8.3.3 JRadioButton(单选按钮)组件 161
8.3.4 JCheckBox(复选框)组件 162
8.3.5 JComboBox(选择框)组件 163
8.3.6 JList(列表框)组件 164
8.3.7 JTextField(文本框)组件 165
8.3.8 JPasswordField(密码框)组件 167
8.3.9 JTextArea(文本域)组件 167
8.4 常用布局管理器 168
8.4.1 不使用布局管理器 168
8.4.2 FlowLayout布局管理器 170
8.4.3 BorderLayout布局管理器 170
8.4.4 GridLayout布局管理器 171
8.5 常用面板 172
8.5.1 JPanel面板 172
8.5.1 JScrollPane面板 174
8.6 常用事件处理 175
8.6.1 动作事件处理 175
8.6.2 焦点事件处理 176
8.6.3 鼠标事件处理 178
8.6.4 键盘事件处理 179
8.7 拼图游戏 181
8.7.1 游戏简介 181
8.7.2 设计思路 182
8.7.3 开发步骤 183
小结 186
习题 187
第9章 Applet程序设计 188
9.1 Applet概述 188
9.2 Applet基础 188
9.2.1 简单Applet实例 188
9.2.2 Applet生命周期 189
9.2.3 Graphics类 191
9.3 图像处理 192
9.4 音频播放 194
9.4.1 getAudioClip()方法 194
9.4.2 play()方法 195
9.4.3 newAudioClip()方法 195
9.5 HTML的Applet标签和属性 195
9.6 JAR文件 197
9.6.1 使用JDK工具生成JAR 197
9.6.2 使用Eclipse开发工具生成JAR 198
9.6.3 使用JAR文件中的Applet程序 200
9.7 为Applet传递参数 200
9.8 JavaScript操作Applet 202
9.9 控制其他Applet程序 203
9.10 Applet安全基础 206
9.10.1 Applet的行为 206
9.10.2 Applet的安全限制 207
小结 207
习题 207
第10章 网络程序设计 208
10.1 基础知识 208
10.1.1 TCP 208
10.1.2 UDP 208
10.2 IP地址封装 208
10.3 套接字 210
10.3.1 服务器端套接字 210
10.3.2 客户端套接字 212
10.4 数据报 215
10.4.1 DatagramPacket 215
10.4.2 DatagramSocket 216
10.5 网络聊天 218
小结 221
习题 221
第11章 JDBC数据库编程 222
11.1 JDBC概述 222
11.1.1 JDBC-ODBC桥技术介绍 222
11.1.2 JDBC技术介绍 223
11.1.3 JDBC驱动类型 223
11.2 JDBC中的常用接口 224
11.2.1 Driver接口 224
11.2.2 DriverManager类 224
11.2.3 Connection接口 225
11.2.4 Statement接口 226
11.2.5 PreparedStatement接口 226
11.2.6 CallableStatement接口 227
11.2.7 ResultSet接口 227
11.3 连接数据库 229
11.3.1 加载JDBC驱动程序 230
11.3.2 创建数据库连接 230
11.3.3 执行SQL语句 231
11.3.4 获得查询结果 231
11.3.5 关闭连接 231
11.4 操作数据库 232
11.4.1 添加数据 232
11.4.2 查询数据 234
11.4.3 修改数据 236
11.4.4 删除数据 238
11.5 应用JDBC事务 240
小结 243
习题 244
第12章 Java Web程序设计 245
12.1 JSP概述 245
12.2 Tomcat安装和启动 245
12.3 了解JSP的基本构成 248
12.4 JSP的指令标识 249
12.4.1 使用page指令 249
12.4.2 使用include指令 251
12.5 JSP的脚本标识 252
12.5.1 JSP表达式(Expression) 252
12.5.2 声明标识(Declaration) 253
12.5.3 脚本程序(Scriptlet) 253
12.6 JSP的动作标识 254
12.6.1 包含文件的动作<jsp:include> 254
12.6.2 重定向资源的动作<jsp:forward> 255
12.6.3 声明使用JavaBean的动作<jsp:useBean> 256
12.6.4 设置JavaBean属性值的动作<jsp:setProperty> 259
12.6.5 获取JavaBean属性值的动作<jsp:getProperty> 261
12.7 JSP常用内置对象 262
12.7.1 request对象 262
12.7.2 response对象 267
12.7.3 session对象 270
12.7.4 application对象 271
12.8 Java Web框架技术 273
12.8.1 Struts 273
12.8.2 Spring 275
12.8.3 Hibernate 275
小结 276
习题 276
附录 上机实验 277
实验1 Java基础 277
实验2 程序流程控制 279
实验3 类的继承 280
实验4 使用集合类 281
实验5 数据流 282
实验6 线程控制 283
实验7 异常处理 284
实验8 Swing程序设计 285
实验9 Applet程序设计 287
实验10 网络程序设计 289
实验11 通过JDBC方式操作数据库 289
实验12 Java Web程序设计 291
实验13 计算器 293
实验14 日志簿 296