《Java实用教程(第2版)》是2012年人民邮电出版社出版的图书,作者是王小科、罗二平、刘会衡。本书系统地介绍Java程式设计的基础知识、开发环境与开发工具。
基本介绍
- 中文名:Java实用教程(第2版)
- 外文名:Java practical tutorial (Second Edition)
- ISBN:978-7-115-29493-7
- 作者:王小科
- 开本:16 开
- 页数:283 页
- 装帧:平装
- 定价:38.00 元
- 出版社:人民邮电出版社
内容简介
全书共分12章,内容包括Java语言概述、Java语言的基本语法、程式流程控制语句、面向对象基础、集合、Java输入与输出、多执行绪与异常处理、Swing程式设计、Applet程式设计、网路程式设计、JDBC资料库编程、Java Web程式设计。本书所有知识都结合具体实例进行介绍,力求详略得当,使读者快速掌握Java程式设计的方法。书后附有上机实验,供读者实践练习。
本书可作为普通高等院校计算机及相关专业Java程式设计课程的教材,也适合Java初学者及程式开发人员参考使用。
本书可作为普通高等院校计算机及相关专业Java程式设计课程的教材,也适合Java初学者及程式开发人员参考使用。
目录
第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.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
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
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
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
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
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
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
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
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
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
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
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
实验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