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