目录
第1章 搭建Java开发环境 001
1.1 Java简介 001
1.2 搭建Java编程环境 001
1.2.1 JDK的下载 001
1.2.2 JDK的安装 002
1.2.3 JDK环境配置 003
1.2.4 测试开发环境 004
1.3 我的第一个Java程序 005
1.4 选择Java开发工具 006
1.4.1 Eclipse的下载 006
1.4.2 Eclipse的安装与配置 007
1.4.3 Eclipse的界面介绍及使用 007
1.4.4 Eclipse创建Java项目 008
1.4.5 创建Java的类文件 009
1.4.6 编写和运行Java程序 010
1.5 新手疑难问题解答 010
1.6 实战训练 010
第2章 Java语言基础 012
2.1 剖析第一个Java程序 012
2.2 Java基础语法 013
2.2.1 标识符 014
2.2.2 关键字 014
2.2.3 分隔符 015
2.2.4 代码注释 016
2.3 变量与常量 017
2.3.1 变量 018
2.3.2 常量 018
2.4 基本数据类型 019
2.4.1 整数类型 019
2.4.2 浮点类型 021
2.4.3 字符类型 022
2.4.4 布尔类型 024
2.4.5 字符串类型 024
2.5 数据类型转换 025
2.5.1 隐式转换 025
2.5.2 显式转换 027
2.6 运算符 027
2.6.1 赋值运算符 028
2.6.2 算术运算符 029
2.6.3 自增和自减运算符 029
2.6.4 关系运算符 030
2.6.5 逻辑运算符 031
2.6.6 位运算符 033
2.6.7 复合赋值运算符 034
2.6.8 三元运算符 035
2.6.9 圆括号 036
2.6.10 运算符优先级 036
2.7 新手疑难问题解答 037
2.8 实战训练 037
第3章 流程控制 039
3.1 程序结构 039
3.2 条件语句 040
3.2.1 简单if语句 040
3.2.2 if…else语句 042
3.2.3 if…else if多分支语句 043
3.2.4 switch多分支语句 044
3.3 循环语句 046
3.3.1 while循环语句 046
3.3.2 do…while循环语句 047
3.3.3 for循环语句 049
3.3.4 foreach语句 050
3.3.5 循环语句的嵌套 051
3.3.6 无限循环 054
3.4 跳转语句 055
3.4.1 break语句 055
3.4.2 continue语句 057
3.5 新手疑难问题解答 058
3.6 实战训练 059
第4章 Java中的数组 060
4.1 数组概述 060
4.1.1 认识数组 060
4.1.2 数组的特点 061
4.2 一维数组 061
4.2.1 创建一维数组 061
4.2.2 一维数组的赋值 062
4.2.3 遍历一维数组 064
4.2.4 数组的length属性 066
4.3 二维数组 066
4.3.1 创建二维数组 067
4.3.2 二维数组的赋值 068
4.3.3 遍历二维数组 069
4.3.4 不规则数组 070
4.4 数组的基本操作 071
4.4.1 填充数组 071
4.4.2 快速排序 072
4.4.3 冒泡排序 073
4.4.4 选择排序 073
4.5 新手疑难问题解答 074
4.6 实战训练 075
第5章 字符串的应用 076
5.1 String类 076
5.1.1 声明字符串 076
5.1.2 创建字符串 076
5.1.3 String类的方法 078
5.2 字符串的连接 080
5.2.1 使用“+”连接 080
5.2.2 使用concat()方法连接 081
5.2.3 连接其他数据类型 081
5.3 提取字符串信息 082
5.3.1 获取字符串长度 082
5.3.2 获取指定位置的字符 083
5.3.3 获取子字符串索引位置 083
5.3.4 判断字符串首尾内容 084
5.3.5 判断子字符串是否存在 085
5.3.6 获取字符数组 086
5.4 字符串的操作 086
5.4.1 截取字符串 087
5.4.2 分割字符串 087
5.4.3 替换字符串 088
5.4.4 去除空白内容 088
5.4.5 比较字符串是否相等 089
5.4.6 字符串的比较操作 090
5.4.7 字符串大小写转换 091
5.5 正则表达式 092
5.5.1 常用正则表达式 092
5.5.2 正则表达式的实例 092
5.6 字符串的类型转换 094
5.6.1 字符串转换为数组 094
5.6.2 基本数据类型转换为字符串 094
5.6.3 格式化字符串 095
5.7 StringBuffer与StringBuilder 096
5.7.1 认识StringBuffer与StringBuilder 097
5.7.2 StringBuilder类的创建 097
5.7.3 StringBuilder类的方法 098
5.8 新手疑难问题解答 101
5.9 实战训练 101
第6章 面向对象编程入门 103
6.1 面向对象的特点 103
6.1.1 封装性 103
6.1.2 继承性 103
6.1.3 多态性 103
6.2 类和对象 104
6.2.1 什么是类 104
6.2.2 成员变量 105
6.2.3 成员方法 105
6.2.4 构造方法 106
6.2.5 认识对象 108
6.2.6 对象运用 109
6.2.7 局部变量 110
6.2.8 this关键字 111
6.3 static关键字 113
6.3.1 静态变量 113
6.3.2 静态方法 114
6.3.3 静态代码块 115
6.4 对象值的传递 115
6.4.1 值传递 115
6.4.2 引用传递 116
6.4.3 可变参数传递 117
6.5 新手疑难问题解答 117
6.6 实战训练 118
第7章 面向对象核心技术 119
7.1 类的封装 119
7.1.1 认识封装 119
7.1.2 实现封装 120
7.2 类的继承 122
7.2.1 extends关键字 122
7.2.2 super关键字 123
7.2.3 访问修饰符 125
7.2.4 final关键字 128
7.3 类的多态 128
7.3.1 方法的重载 128
7.3.2 多态的前提 129
7.3.3 向上转型 131
7.3.4 向下转型 132
7.3.5 instanceof关键字 134
7.4 内部类 134
7.4.1 创建内部类 135
7.4.2 链接到外部类 135
7.4.3 成员内部类 136
7.4.4 局部内部类 138
7.4.5 匿名内部类 139
7.4.6 静态内部类 139
7.5 新手疑难问题解答 141
7.6 实战训练 141
第8章 抽象类与接口 142
8.1 抽象类和抽象方法 142
8.1.1 认识抽象类 142
8.1.2 定义抽象类 142
8.1.3 抽象方法 145
8.2 接口概述 147
8.2.1 接口声明 147
8.2.2 实现接口 147
8.2.3 接口默认方法 149
8.2.4 接口与抽象类 149
8.3 接口的高级应用 150
8.3.1 接口的多态 150
8.3.2 适配接口 150
8.3.3 嵌套接口 151
8.3.4 接口回调 152
8.4 新手疑难问题解答 154
8.5 实战训练 154
第9章 程序的异常处理 156
9.1 认识异常 156
9.1.1 异常的概念 156
9.1.2 异常的分类 156
9.1.3 常见的异常 157
9.2 异常的处理 158
9.2.1 异常处理流程 158
9.2.2 异常处理机制 158
9.2.3 捕获处理异常 161
9.2.4 使用throws抛出异常 162
9.2.5 Finally和return 163
9.3 自定义异常 166
9.4 新手疑难问题解答 167
9.5 实战训练 167
第10章 常用类和枚举类 169
10.1 Math类 169
10.2 Random类 170
10.3 日期Date类 173
10.3.1 使用Date类 173
10.3.2 格式化Date类 173
10.4 Calendar类 174
10.5 Scanner类 176
10.6 数字格式化类 177
10.7 枚举类 178
10.8 包装类 179
10.8.1 Integer类 180
10.8.2 Byte类 181
10.8.3 Character类 183
10.8.4 Number类 184
10.9 新手疑难问题解答 184
10.10 实战训练 185
第11章 泛型与集合类 186
11.1 泛型 186
11.1.1 定义泛型类 186
11.1.2 泛型方法 187
11.1.3 泛型接口 188
11.1.4 泛型参数 189
11.2 认识集合类 191
11.2.1 集合类概述 191
11.2.2 Collection接口的方法 191
11.3 List集合 193
11.3.1 List接口 193
11.3.2 List接口的实现类 194
11.3.3 Iterator迭代器 196
11.4 Set集合 197
11.4.1 Set接口 197
11.4.2 Set接口的实现类 197
11.5 Map集合 200
11.5.1 Map接口 200
11.5.2 Map接口的实现类 200
11.6 新手疑难问题解答 201
11.7 实战训练 202
第12章 Swing程序设计 203
12.1 Swing概述 203
12.1.1 Swing特点 203
12.1.2 Swing包 203
12.1.3 常用Swing组件概述 204
12.2 窗体框架JFrame 205
12.2.1 JFrame窗体的创建 205
12.2.2 JFrame窗体的设置 205
12.3 布局管理器 207
12.3.1 FlowLayout流布局管理器 207
12.3.2 BorderLayout边界布局管理器 208
12.3.3 GridLayout网格布局管理器 209
12.4 常用面板 210
12.4.1 JPanel面板 210
12.4.2 JScrollPane滚动面板 211
12.4.3 选项卡面板 212
12.5 Swing常用组件 213
12.5.1 JLabel标签组件 213
12.5.2 JButton按钮组件 215
12.5.3 JRadioButton单选按钮组件 216
12.5.4 JCheckBox复选框组件 218
12.5.5 JTextField文本框组件 219
12.5.6 JPasswordField密码框组件 220
12.5.7 JTextArea文本域组件 221
12.5.8 JComboBox下拉列表框组件 222
12.5.9 JList列表框组件 223
12.6 JTable表格组件 224
12.6.1 创建表格 225
12.6.2 操作表格 226
12.7 菜单组件 228
12.7.1 下拉式菜单 228
12.7.2 弹出式菜单 229
12.8 新手疑难问题解答 231
12.9 实战训练 231
第13章 I/O(输入/输出) 232
13.1 流概述 232
13.2 输入/输出流 232
13.2.1 输入流 232
13.2.2 输出流 234
13.3 File类 235
13.3.1 创建文件对象 235
13.3.2 文件操作 236
13.3.3 文件夹操作 237
13.4 文件输入/输出流 238
13.4.1 FileInputStream类与FileOutputStream类 238
13.4.2 FileReader类与FileWriter类 239
13.5 带缓冲的输入/输出流 241
13.5.1 BufferedInputStream类与BufferedOutputStream类 241
13.5.2 BufferedReader类与BufferedWriter类 242
13.6 新手疑难问题解答 243
13.7 实战训练 244
第14章 多线程 246
14.1 创建线程 246
14.1.1 继承Thread类 246
14.1.2 实现Runnable接口 247
14.2 线程的状态 249
14.3 线程的同步 249
14.3.1 线程安全 249
14.3.2 同步代码块 250
14.3.3 同步方法 251
14.3.4 死锁 252
14.4 线程的调度 253
14.4.1 线程的优先级 253
14.4.2 线程调度方法 254
14.5 线程交互 256
14.6 新手疑难问题解答 258
14.7 实战训练 258
第15章 使用JDBC操作数据库 259
15.1 JDBC的原理 259
15.2 JDBC相关类与接口 261
15.2.1 DriverManager类 261
15.2.2 Connection接口 262
15.2.3 Statement接口 262
15.2.4 PreparedStatement接口 263
15.2.5 ResultSet接口 263
15.3 JDBC连接数据库 263
15.4 操作数据库 265
15.4.1 创建数据表 265
15.4.2 插入数据 267
15.4.3 查询数据 268
15.4.4 更新数据 269
15.4.5 删除数据 270
15.5 新手疑难问题解答 271
15.6 实战训练 272
第16章 Java绘图 273
16.1 Java绘图基础 273
16.1.1 Graphics绘图类 273
16.1.2 Graphics2D绘图类 273
16.1.3 Canvas画布类 273
16.2 绘制几何图形 273
16.3 设置颜色与画笔 275
16.3.1 设置颜色 275
16.3.2 设置画笔 276
16.4 图像处理 278
16.4.1 绘制图像 278
16.4.2 图像调整 279
16.5 新手疑难问题解答 280
16.6 实战训练 280
第17章 开发射击气球小游戏 282
17.1 游戏简介 282
17.2 游戏运行及配置 282
17.2.1 开发及运行环境 282
17.2.2 在系统功能运行游戏 282
17.2.3 使用Eclipse工具运行游戏 284
17.3 需求及功能分析 286
17.3.1 需求分析 286
17.3.2 功能分析 287
17.3.3 数据库设计 288
17.4 游戏代码编写 288
17.4.1 主程序模块 288
17.4.2 移动对象的抽象类 292
17.4.3 枪 294
17.4.4 子弹 295
17.4.5 气球 296
17.4.6 对象的画图 297
17.4.7 对象的移动 299
17.4.8 气球的变化 300
17.4.9 检查游戏状况 301
17.4.10 参数接口 303
17.4.11 数据库类 304
17.5 系统运行 305