第1章 Java概述及开发环境搭建 1
1.1 Java概述 1
1.1.1 Java的诞生 1
1.1.2 Java的发展历史 2
1.1.3 Java的特点 3
1.1.4 Java的运行机制 4
1.1.5 Java的现状和应用前景 5
1.2 Java开发环境 6
1.2.1 JDK的安装与配置 7
1.2.2 Eclipse的使用 11
1.2.3 Eclipse的常用功能 16
1.3 课程学习建议 18
1.4 本章小结 19
习题 19
第2章 Java基础程序设计 20
2.1 标识符与关键字 22
2.1.1 标识符 22
2.1.2 关键字 22
2.2 基本数据类型 22
2.2.1 变量与常量 23
2.2.2 布尔型 24
2.2.3 字符型 24
2.2.4 整型 24
2.2.5 浮点型 25
2.3 类型转换 25
2.4 输入、输出数据 26
2.4.1 输入基本型数据 26
2.4.2 输出基本型数据 27
2.5 数组 27
2.5.1 声明数组 28
2.5.2 为数组分配元素 28
2.5.3 数组元素的使用 29
2.5.4 length的使用 29
2.5.5 数组的初始化 30
2.5.6 数组的引用 30
2.6 运算符与表达式 31
2.6.1 算术运算符与算术表达式 31
2.6.2 关系运算符与关系表达式 32
2.6.3 逻辑运算符与逻辑表达式 33
2.6.4 赋值运算符与赋值表达式 33
2.6.5 运算符综述 34
2.7 语句概述 34
2.7.1 条件语句 35
2.7.2 switch开关语句 37
2.7.3 循环语句 39
2.8 本章小结 43
习题 44
第3章 面向对象 45
3.1 面向过程与面向对象 46
3.2 类与对象 48
3.2.1 类与对象的定义 48
3.2.2 访问权限 50
3.2.3 Java类的命名规范 51
3.3 面向对象的主要特征 51
3.3.1 封装 51
3.3.2 继承 53
3.3.3 多态 55
3.4 类的使用 57
3.4.1 类的创建与引用 57
3.4.2 匿名对象 62
3.4.3 内部类 62
3.4.4 final关键字 65
3.4.5 instanceof关键字 66
3.4.6 this关键字 66
3.5 抽象类 67
3.6 接口 68
3.7 统一建模语言 70
3.8 面向对象设计原则 74
3.8.1 开闭原则 75
3.8.2 依赖倒转原则 76
3.8.3 单一职责原则 77
3.8.4 合成复用原则 78
3.8.5 里氏替换原则 78
3.8.6 接口隔离原则 81
3.8.7 迪米特法则 81
3.9 面向对象的哲学思考 82
3.10 本章小结 84
习题 84
第4章 包与常用类 85
4.1 包 86
4.1.1 包的作用 87
4.1.2 创建包 87
4.1.3 类的存放路径 87
4.1.4 Java中的常用包 88
4.1.5 import语句 88
4.2 异常类 90
4.2.1 try-catch语句 92
4.2.2 自定义异常类 93
4.3 常用系统类 95
4.3.1 String类 95
4.3.2 StringBuffer类、StringBuilder类 98
4.3.3 Date类 99
4.3.4 Calendar类 100
4.3.5 随机类 101
4.4 数据库类 102
4.4.1 JDBC 102
4.4.2 连接数据库 103
4.4.3 数据库操作 105
4.4.4 预处理语句 112
4.4.5 事务 114
4.5 本章小结 117
习题 117
第5章 Java网络编程 118
5.1 概述 119
5.2 网络编程常用类 119
5.2.1 InetAddress类 119
5.2.2 URL类 120
5.2.3 Socket类与ServerSocket类 123
5.2.4 DatagramSocket类与DatagramPacket类 126
5.3 Java网络编程应用实例 128
5.3.1 使用UDP实现聊天功能 128
5.3.2 使用TCP实现上传文件功能 132
5.4 本章小结 136
习题 136
第6章 Java图像处理 138
6.1 图像处理基础 139
6.1.1 基础知识 139
6.1.2 基于Java的图像基本操作 140
6.2 图像增强 152
6.2.1 概述 152
6.2.2 图像灰度变换 153
6.2.3 直方图增强 155
6.2.4 图像平滑 158
6.2.5 图像锐化 162
6.3 图像分割 164
6.3.1 图像分割原理 164
6.3.2 图像的边缘检测 164
6.3.3 基于K-Means的图像分割算法 166
6.4 图像处理应用 172
6.4.1 生成二维码 172
6.4.2 人脸识别 174
6.5 本章小结 176
习题 176
第7章 Java与数据科学 178
7.1 数据获取及清洗 179
7.1.1 使用Apache Commons IO进行文件操作的常用方法 179
7.1.2 使用Apache Tika提取PDF文本 180
7.1.3 使用Jsoup从网站获取数据 183
7.1.4 使用正则表达式清洗数据 185
7.2 数据统计 186
7.2.1 使用Apache Commons Math计算描述性统计指标 187
7.2.2 使用Apache Commons Math进行频率分布统计 188
7.3 聚类分析 189
7.3.1 使用Weka的图形界面完成聚类 189
7.3.2 使用Weka的Java K-Means实现聚类 190
7.3.3 使用Apache Commons Math进行聚类分析 193
7.4 数据可视化 195
7.4.1 使用JFreeChart绘制图形 196
7.4.2 使用GRAL绘制图形 202
7.5 本章小结 203
习题 204
第8章 Android与Java 205
8.1 初识Android 206
8.1.1 Android的由来 206
8.1.2 Android简介 206
8.2 Java与Android的关系 207
8.3 Android开发主要流程 207
8.4 搭建Android应用开发环境 211
8.4.1 安装Android Studio 211
8.4.2 配置安装Android SDK 215
8.4.3 配置Android运行与调试环境 216
8.5 开发一个简单的Android应用 219
8.5.1 使用Android Studio创建Android项目 219
8.5.2 一个简单的Android应用——Weather 220
8.6 本章小结 230
习题 230
参考文献 231