第1章 Java技术入门 1
1.1 Java概述 1
1.1.1 Java发展简史 1
1.1.2 Java技术特性 2
1.2 Java平台核心机制 4
1.2.1 Java平台 4
1.2.2 Java程序的运行过程 5
1.3 Java开发环境的安装与配置 6
1.3.1 下载和安装Java开发工具集 6
1.3.2 配置环境变量Path 7
1.4 第一个Java应用程序 8
1.4.1 创建源文件HelloWorld 8
1.4.2 将源文件编译为字节码文件 9
1.4.3 运行程序 10
1.4.4 诊断编译错误和运行时错误 11
1.4.5 Java应用程序的结构 12
1.5 本章小结 13
1.6 上机实践 13
第2章 Java语言基础 14
2.1 分隔符 14
2.2 标识符 15
2.3 关键字 15
2.4 注释 17
2.5 数据类型 18
2.5.1 数据类型的分类 18
2.5.2 基本数据类型 19
2.5.3 常量和变量 19
2.6 编码惯例 22
2.6.1 命名惯例 22
2.6.2 文件组织 23
2.6.3 分隔 23
2.6.4 声明语句 25
2.6.5 其他 25
2.7 本章小结 26
2.8 上机实践 26
第3章 运算符、表达式和流程控制 28
3.1 运算符和表达式 28
3.1.1 算术运算符 28
3.1.2 关系运算符 30
3.1.3 逻辑运算符 31
3.1.4 位运算符 32
3.1.5 赋值运算符 35
3.1.6 条件运算符 36
3.1.7 表达式 37
3.1.8 表达式中的数据类型转换 38
3.2 流程控制语句 41
3.2.1 分支语句 42
3.2.2 循环语句 48
3.2.3 控制循环结构 55
3.3 标准输入/输出 59
3.3.1 什么是控制台 59
3.3.2 读取控制台输入 60
3.4 本章小结 61
3.5 上机实践 62
第4章 面向对象编程初步 63
4.1 类和对象 63
4.1.1 类的定义 63
4.1.2 对象的使用 66
4.1.3 this的使用 69
4.2 方法 71
4.2.1 方法的参数传递 72
4.2.2 形参长度可变的方法 76
4.2.3 递归方法 77
4.2.4 方法重载 78
4.3 变量 80
4.4 隐藏和封装 83
4.4.1 理解封装 83
4.4.2 使用访问控制符 83
4.4.3 package和import 86
4.5 本章小结 90
4.6 上机实践 90
第5章 面向对象编程进阶 91
5.1 类的继承 91
5.1.1 继承的特点 91
5.1.2 重写父类的方法 93
5.1.3 父类实例的super引用 94
5.1.4 调用父类构造方法 96
5.2 子类对象和父类对象的转换 98
5.3 静态初始化块 100
5.3.1 使用初始化块 100
5.3.2 静态初始化块 102
5.4 单例类 104
5.5 final修饰符 105
5.5.1 final变量 105
5.5.2 final方法 109
5.5.3 final类 110
5.6 抽象类 110
5.6.1 抽象方法和抽象类 111
5.6.2 抽象类的作用 113
5.7 接口 114
5.7.1 接口的概念 114
5.7.2 接口的定义 114
5.7.3 接口的继承 116
5.7.4 使用接口 117
5.7.5 接口和抽象类 118
5.8 内部类 119
5.9 匿名类 121
5.10 静态内部类 122
5.11 本章小结 124
5.12 上机实践 124
第6章 数组 125
6.1 一维数组 125
6.1.1 一维数组的声明 126
6.1.2 数组对象的创建和使用 126
6.1.3 数组对象的length属性 129
6.1.4 数组的静态初始化 130
6.1.5 foreach循环 131
6.2 多维数组 132
6.2.1 二维数组的声明 133
6.2.2 二维数组对象的创建和初始化 133
6.2.3 二维数组元素的访问 135
6.3 数组排序 136
6.4 本章小结 137
6.5 上机实践 137
第7章 精通常用的Java类 138
7.1 Java API的概念 138
7.2 java.lang.Object类——Java类的共同父类 139
7.3 字符串相关类型 142
7.3.1 java.lang.String类 142
7.3.2 java.lang.StringBuffer类 146
7.4 java.lang.System类与java.lang.Runtime类 148
7.4.1 System类 148
7.4.2 Runtime类 148
7.5 封装类 149
7.6 日期相关类型 152
7.6.1 Date类 153
7.6.2 Calendar类 154
7.6.3 DateFormat类 156
7.7 数学相关类 158
7.7.1 基本数学功能类Math 158
7.7.2 数据格式化工具类NumberFormat/DecimalFormat 159
7.8 本章小结 163
7.9 上机实践 163
第8章 Java的异常处理 164
8.1 异常处理的基础知识 164
8.1.1 异常处理的类层次 164
8.1.2 未捕获“异常” 165
8.2 异常处理机制 166
8.2.1 使用try-catch-finally语句捕获和处理异常 167
8.2.2 throw语句 171
8.2.3 throws语句 172
8.2.4 finally 174
8.3 自定义异常类 175
8.4 断言 176
8.4.1 断言的开启和关闭 176
8.4.2 断言的使用 177
8.4.3 什么时候使用断言 179
8.5 本章小结 180
8.6 上机实践 180
第9章 Java中的泛型编程 181
9.1 集合类的泛型 181
9.2 使用自己定义的泛型 183
9.3 类型通配符 184
9.4 受限类型参数 185
9.5 泛型方法 187
9.6 本章小结 188
9.7 上机实践 188
第10章 Java中的集合类 189
10.1 集合类与数据容器 189
10.1.1 在项目中自定义数据类型的难处 189
10.1.2 Java中的集合类 190
10.2 Collection接口和Map接口 190
10.3 列表 192
10.3.1 Vector类 192
10.3.2 先进后出的Stack类 194
10.3.3 LinkedList类 197
10.4 集及其实现类 199
10.4.1 集中的主要方法 199
10.4.2 HashSet类 199
10.5 “键-值”对型的集合 200
10.5.1 为什么要使用“键-值”对型的集合 201
10.5.2 “键-值”对的典范——Hashtable类 202
10.6 枚举器与数据操作 204
10.6.1 访问集合类的“不确定性”难题 204
10.6.2 枚举器接口 204
10.6.3 枚举器“分离”思想的启示 205
10.7 本章小结 206
10.8 上机实践 206
第11章 GUI程序设计 207
11.1 Java GUI设计 207
11.1.1 抽象窗口工具包 207
11.1.2 组件和容器 207
11.1.3 布局管理器 212
11.2 GUI事件处理 218
11.2.1 Java事件和事件处理机制 218
11.2.2 事件类 220
11.2.3 监听接口 221
11.2.4 事件适配器 223
11.2.5 内部类和匿名类在GUI事件处理中的作用 225
11.2.6 多重监听器 228
11.3 字体和颜色的控制 229
11.3.1 Color类 229
11.3.2 Font类 231
11.4 AWT常用组件 232
11.4.1 标签和按钮 232
11.4.2 文本组件 233
11.4.3 选择组件 239
11.4.4 滚动组件 245
11.4.5 菜单组件 248
11.4.6 对话框 253
11.5 Swing初步 260
11.5.1 Swing概述 260
11.5.2 典型Swing组件 262
11.6 本章小结 272
11.7 上机实践 272
第12章 Java流与文件操作 273
12.1 数据流的基本概念 273
12.1.1 输入流与输出流 273
12.1.2 缓冲流 274
12.2 Java的标准数据流和输入/输出流 274
12.2.1 Java的标准数据流 274
12.2.2 java.io包中的数据流及文件类 276
12.3 字节流 277
12.3.1 InputStream类和OutputStream类 277
12.3.2 文件字节输入/输出流类FileInputStream/FileOutputStream 278
12.4 文件操作 282
12.4.1 File类 282
12.4.2 文件过滤器 285
12.4.3 随机文件操作 287
12.5 字符流 289
12.5.1 Reader类和Writer类 289
12.5.2 字符文件流FileReader和FileWriter类 290
12.5.3 字符缓冲流BufferedReader和BufferedWriter类 291
12.6 对象序列化 295
12.7 本章小结 299
12.8 上机实践 299
第13章 多线程 300
13.1 多线程简介 300
13.1.1 进程和线程 300
13.1.2 多线程优势 302
13.2 多线程实现 302
13.2.1 继承Thread类实现多线程 302
13.2.2 实现Runnable接口 305
13.2.3 使用Timer和TimerTask组合 306
13.3 线程的生命周期与线程状态 308
13.3.1 线程优先级 309
13.3.2 线程调度 310
13.4 多线程问题及处理 316
13.5 本章小结 319
13.6 上机实践 320
第14章 Java数据库编程 321
14.1 数据库简介 321
14.1.1 关系型数据库 321
14.1.2 SQL语言 321
14.2 JDBC基本概念 322
14.2.1 什么是JDBC 322
14.2.2 JDBC数据库驱动程序 323
14.3 JDBC编程常用的类和接口 324
14.4 JDBC编程访问数据库 327
14.4.1 使用JDBC访问数据库的基本过程 328
14.4.2 执行SQL语句 331
14.5 获取数据库元数据 333
14.6 可滚动和可更新结果集 335
14.7 预处理语句 341
14.8 调用存储过程 343
14.9 本章小结 344
14.10 上机实践 344
第15章 反射 345
15.1 反射概述 345
15.1.1 Java中的反射机制 345
15.1.2 Class类 346
15.2 使用Java反射机制 347
15.2.1 获取类信息 348
15.2.2 创建对象 351
15.2.3 调用方法 353
15.2.4 访问成员变量的值 354
15.2.5 操作数组 355
15.3 反射应用举例 357
15.3.1 properties文件的处理 357
15.3.2 应用反射实现松耦合 359
15.4 本章小结 361
15.5 上机实践 361
第16章 Java注解 362
16.1 注解概述 362
16.2 JDK内置的基本注解类型 363
16.2.1 重写Override 363
16.2.2 警告Deprecated 364
16.2.3 抑制警告SuppressWarnings 365
16.3 自定义注解类型 366
16.4 对注解进行注解 368
16.4.1 目标Target 368
16.4.2 类型Retention 369
16.4.3 文档Documented 370
16.4.4 继承Inherited 370
16.5 利用反射获取注解信息 371
16.6 本章小结 373
16.7 上机实践 373
第17章 Java网络编程 374
17.1 网络基础知识 374
17.1.1 网络基本概念 374
17.1.2 IP地址和端口号 376
17.2 Java的基本网络应用 377
17.2.1 InetAddress类的使用 377
17.2.2 URL类的使用 378
17.2.3 URLDecoder类和URLEncoder类 379
17.3 基于Socket的网络编程 381
17.4 本章小结 387
17.5 上机实践 387