目录 第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