目 录
第1章 Java概述 1
1.1 Java简介 1
1.1.1 什么是Java 1
1.1.2 Java的特点 2
1.2 Java平台与JVM 3
1.2.1 Java平台与JVM简介 3
1.2.2 JDK的安装 3
1.2.3 JDK环境变量配置 5
1.3 集成开发环境 7
1.4 第一个Java程序 8
1.5 IntelliJ IDEA的安装与启动 9
1.5.1 安装IDEA开发工具 9
1.5.2 启动IDEA 11
1.6 使用IntelliJ IDEA进行开发 11
1.7 小结 15
1.8 习题 15
第2章 Java基础语法 16
2.1 标识符与关键字 16
2.1.1 标识符 16
2.1.2 关键字 17
2.2 基本数据类型 17
2.2.1 常量 17
2.2.2 变量 19
2.3 运算符与表达式 21
2.4 顺序结构 23
2.5 选择结构 24
2.5.1 if条件语句 24
2.5.2 switch条件语句 27
2.6 循环结构 29
2.6.1 while循环语句 29
2.6.2 do-while循环语句 30
2.6.3 for循环语句 31
2.6.4 循环嵌套 32
2.7 break与continue语句 33
2.7.1 break语句 33
2.7.2 continue语句 34
2.8 小结 34
2.9 习题 35
第3章 数组 36
3.1 一维数组 36
3.1.1 一维数组的声明与初始化 37
3.1.2 一维数组的访问与修改 38
3.2 多维数组 38
3.2.1 多维数组的声明与初始化 39
3.2.2 二维数组的访问 39
3.3 可变长参数 41
3.3.1 可变长参数的概念 41
3.3.2 可变长参数的应用 42
3.4 数组的应用 44
3.4.1 数组作为方法参数和返回值 44
3.4.2 数组的复制 46
3.5 Arrays类 48
3.5.1 数组排序 48
3.5.2 数组搜索 48
3.5.3 数组相等判定 49
3.5.4 数组的打印 50
3.5.5 ArrayList类与Arrays.asList() 50
3.6 小结 52
3.7 习题 52
第4章 面向对象(上) 55
4.1 面向对象的基本概念 55
4.2 类与对象 56
4.2.1 类的定义 56
4.2.2 对象的创建与使用 57
4.3 访问权限 58
4.4 构造方法 60
4.4.1 构造方法的定义 60
4.4.2 构造方法的重载 62
4.4.3 默认构造方法 63
4.5 参数的传递 64
4.5.1 值传递 64
4.5.2 引用传递 65
4.5.3 this关键字 66
4.6 package与import语句 69
4.6.1 package语句 69
4.6.2 import语句 70
4.7 static关键字 70
4.7.1 静态属性 71
4.7.2 静态方法 73
4.7.3 静态代码块 74
4.7.4 静态导入 75
4.8 面向对象特征 75
4.8.1 面向对象的三大特征 75
4.8.2 封装性的实现 76
4.9 小结 77
4.10 习题 78
第5章 面向对象(下) 81
5.1 类的继承 81
5.1.1 继承的概念 81
5.1.2 重写父类方法 83
5.2 super关键字 84
5.3 final关键字 86
5.3.1 final关键字修饰类 86
5.3.2 final关键字修饰方法 87
5.3.3 final关键字修饰变量 87
5.4 abstract关键字 89
5.5 对象转换与多态性 91
5.5.1 多态概述 91
5.5.2 对象的类型转换 94
5.6 接口的用法 95
5.6.1 抽象类 95
5.6.2 接口 96
5.7 内部类 98
5.7.1 成员内部类 98
5.7.2 局部内部类 99
5.7.3 静态内部类 100
5.7.4 匿名内部类 101
5.8 小结 102
5.9 习题 102
第6章 异常处理 105
6.1 异常概述 105
6.2 异常处理方法 107
6.2.1 异常的捕获 107
6.2.2 异常的自定义 110
6.3 小结 111
6.4 习题 112
第7章 常用类库 114
7.1 Object类 114
7.2 Math类与Random类 117
7.2.1 Math类 117
7.2.2 Random类 118
7.3 字符串类 121
7.3.1 String类 121
7.3.2 StringBuffer类 126
7.4 日期和时间类 127
7.4.1 Date类 127
7.4.2 Calendar类 128
7.4.3 日期与时间格式化类 130
7.5 包装类 133
7.5.1 包装类特点 133
7.5.2 装箱和拆箱 134
7.6 正则表达式 135
7.6.1 正则表达式语法 135
7.6.2 Pattern类与Matcher类 136
7.7 小结 137
7.8 习题 138
第8章 集合 139
8.1 集合概述 139
8.1.1 集合简介 139
8.1.2 Collection集合 140
8.2 List接口及其实现类 140
8.2.1 ArrayList集合 141
8.2.2 LinkedList集合 145
8.3 集合遍历 147
8.4 泛型 150
8.4.1 泛型类 151
8.4.2 泛型接口 152
8.4.3 泛型方法 152
8.4.4 自定义泛型类 153
8.5 Set接口及其实现类 154
8.5.1 HashSet类 155
8.5.2 TreeSet类 158
8.6 Map接口及其实现类 162
8.6.1 HashMap集合 162
8.6.2 TreeMap集合 165
8.7 Queue接口及其实现类 166
8.7.1 LinkedList实现类 166
8.7.2 ArrayDeque实现类 167
8.7.3 PriorityQueue实现类 167
8.7.4 BlockingQueue(线程安全队列) 168
8.8 Collections 169
8.9 小结 171
8.10 习题 171
第9章 多线程编程 174
9.1 多线程编程应用场景 174
9.2 线程的基本概念 175
9.3 线程的创建 176
9.3.1 从Thread派生线程类 176
9.3.2 实现Runnable接口 178
9.3.3 实现Callable接口 179
9.4 线程的状态和转换 180
9.4.1 线程的状态 180
9.4.2 线程状态转换 181
9.5 线程常用方法 181
9.5.1 常用方法概述 181
9.5.2 线程让步 184
9.5.3 线程联合 185
9.5.4 守护线程 186
9.6 线程同步与锁 188
9.6.1 线程同步概述 188
9.6.2 synchronized关键字 189
9.6.3 线程安全 190
9.6.4 线程死锁 191
9.7 小结 193
9.8 习题 193
第10章 I/O 195
10.1 流的概念 195
10.2 流的分类 196
10.2.1 按数据单位分类 196
10.2.2 按数据流向分类 196
10.2.3 按功能分类 197
10.2.4 按数据处理方式分类 197
10.3 File类 198
10.3.1 文件属性 198
10.3.2 文件的常见操作方法 199
10.4 字节流类 200
10.4.1 字节输入流InputStream 200
10.4.2 文件字节输入流FileInputStream 202
10.4.3 字节输出流OutputStream 203
10.4.4 文件字节输出流FileOutputStream 203
10.5 字符流类 205
10.5.1 字符输入流类Reader 205
10.5.2 文件字符输入流类FileReader 206
10.5.3 字符输出流类Writer 207
10.5.4 文件字符输出流类FileWriter 208
10.6 小结 209
10.7 习题 210
第11章 网络编程 212
11.1 网络基础 212
11.1.1 网络的基本概念 212
11.1.2 TCP和UDP协议 215
11.1.3 URL基础 216
11.1.4 InetAddress类 216
11.2 套接字 217
11.2.1 套接字概述 217
11.2.2 客户端套接字 217
11.2.3 服务端套接字 219
11.3 UDP数据报 222
11.3.1 UDP报文概述 222
11.3.2 发送UDP报文 222
11.3.3 接受UDP报文 224
11.4 小结 226
11.5 习题 226
第12章 数据库编程 228
12.1 数据库编程基础 228
12.1.1 JDBC数据库应用模型 228
12.1.2 JDBC驱动程序 229
12.1.3 用JDBC连接数据库 230
12.1.4 加载JDBC驱动类 230
12.1.5 建立数据库连接 230
12.1.6 创建Statement对象并执行SQL语句 231
12.1.7 关闭数据库连接 231
12.1.8 JDBC常用API 232
12.2 数据库基本操作 235
12.2.1 数据插入操作 235
12.2.2 数据删除操作 235
12.2.3 数据更新操作 236
12.2.4 数据查询操作 237
12.2.5 事务处理 237
12.3 小结 240
12.4 习题 240
