上篇 基础篇 3
第1章 Java概述 3
1.1 Java的发展历史 3
1.2 Java语言的特点 4
1.3 Java与C/C++的差异 6
1.4 Java程序的运行机制 7
1.5 Java开发环境 8
1.5.1 下载JDK 8
1.5.2 安装JDK 8
1.5.3 设置环境变量 9
1.6 Java集成开发环境Eclipse 10
1.7 Java程序的产生、编译和运行 12
1.8 Java程序的基本结构 13
1.8.1 Java程序的组织形式 13
1.8.2 Java源文件的命名原则 14
习题 14
第2章 Java语言基础 16
2.1 标识符与关键字 16
2.1.1 标识符 16
2.1.2 关键字 17
2.2 基本数据类型 17
2.2.1 整数类型 17
2.2.2 浮点类型 18
2.2.3 字符类型 18
2.2.4 布尔类型 18
2.3 常量与变量 19
2.3.1 常量 19
2.3.2 变量 21
2.4 用户输入和程序输出 23
2.4.1 使用BufferedReader类输入数据 23
2.4.2 使用Scanner类输入数据 24
2.5 分隔符和注释 25
2.5.1 分隔符 25
2.5.2 注释 25
习题 27
第3章 运算符和表达式 29
3.1 赋值运算符及赋值表达式 29
3.2 算术运算符及算术表达式 30
3.3 关系运算符及关系表达式 32
3.4 逻辑运算符及逻辑表达式 33
3.5 位运算符 34
3.6 其他运算符 35
3.7 运算符的优先级 36
习题 37
第4章 程序流程控制 39
4.1 顺序结构 39
4.2 分支结构 40
4.2.1 if语句 40
4.2.2 switch...case语句 44
4.3 循环结构 46
4.3.1 while语句 46
4.3.2 do...while语句 47
4.3.3 for语句 48
4.3.4 循环嵌套 49
4.4 转移语句 50
4.4.1 break语句 50
4.4.2 continue语句 51
习题 53
第5章 数组 57
5.1 一维数组 57
5.1.1 一维数组的声明和创建 57
5.1.2 一维数组的初始化 58
5.1.3 一维数组的使用 58
5.2 数组操作 60
5.2.1 数组元素的复制 60
5.2.2 数组元素的排序 61
5.2.3 数组元素的查找 62
5.3 二维数组 63
5.3.1 二维数组的定义 63
5.3.2 for each语句对数组的支持 65
习题 66
第6章 字符串类 68
6.1 String类 68
6.1.1 String类对象的声明与创建 68
6.1.2 String类的常用方法 69
6.2 StringBuffer类 73
6.2.1 StringBuffer类对象的声明与创建 73
6.2.2 StringBuffer类的常用方法 73
习题 79
第7章 类和对象 81
7.1 面向对象的基本概念 81
7.1.1 对象、类和实体 82
7.1.2 对象的属性 83
7.1.3 面向对象的特点 84
7.2 定义类 85
7.3 创建对象 88
7.3.1 对象的创建 88
7.3.2 对象的引用 89
7.4 Java中常见的修饰符 90
7.4.1 访问控制修饰符 90
7.4.2 非访问控制修饰符 92
习题 98
中篇 应用篇 101
第8章 类和对象的高级应用 101
8.1 继承 101
8.1.1 继承的概念 101
8.1.2 继承的实现 102
8.1.3 构造方法的继承 103
8.1.4 变量的隐藏 104
8.2 多态 104
8.2.1 多态的概念 104
8.2.2 方法的重载 105
8.3 方法重写 105
8.4 final关键字 106
8.5 抽象类和抽象方法 107
8.5.1 抽象类 108
8.5.2 抽象方法 108
8.6 接口 109
8.6.1 接口的概念 109
8.6.2 接口的声明 109
8.6.3 接口的实现 110
8.7 包 111
8.7.1 包的概念 111
8.7.2 包的导入 111
8.7.3 目录层次关系及classpath环境变量 112
习题 115
第9章 异常处理 120
9.1 异常的基本概念 120
9.2 异常处理流程 123
9.3 抛出异常 126
9.3.1 在程序中抛出异常 126
9.3.2 指定方法抛出异常 127
9.4 自定义异常 128
习题 129
第10章 图形用户界面设计 130
10.1 图形用户界面概述 130
10.2 AWT图形用户界面 131
10.2.1 java.awt包 131
10.2.2 构件类和容器类 132
10.3 布局管理器 135
10.3.1 FlowLayout布局管理器 135
10.3.2 BorderLayout布局管理器 137
10.3.3 GridLayout布局管理器 138
10.3.4 CardLayout布局管理器 139
10.4 事件处理 140
10.4.1 Java事件处理机制 140
10.4.2 Java事件处理模型 141
10.4.3 为组件注册事件 142
10.4.4 事件监听器接口 144
10.5 Swing组件 147
10.5.1 Swing简介 147
10.5.2 Swing组件划分 148
10.5.3 常用容器组件 148
10.5.4 标签 150
10.5.5 按钮 150
10.5.6 文本组件 152
10.5.7 单选按钮和复选框 156
10.5.8 列表框 159
10.5.9 菜单 160
10.5.10 对话框 163
习题 169
第11章 输入和输出 171
11.1 File类 171
11.2 RandomAccessFile类 173
11.3 流类 175
11.3.1 各数据流类的层次结构 175
11.3.2 字节流 177
11.3.3 DataInputStream与DataOutputStream 179
11.4 对象序列化 181
习题 183
下篇 高级篇 187
第12章 数据库操作 187
12.1 关系型数据库 188
12.2 JDBC简介 189
12.3 SQL语句 190
12.3.1 MySQL数据库的安装 190
12.3.2 SQL语句基础 191
12.4 JDBC的用法 194
12.4.1 JDBC接口和类 194
12.4.2 JDBC编程步骤 195
12.4.3 JDBC数据类型 196
12.5 执行SQL语句的方式 198
12.5.1 使用executeUpdate()方法 198
12.5.2 使用execute()方法 198
12.5.3 使用PreparedStatement接口 198
12.6 处理结果集 199
12.6.1 结果集的滚动和更新 199
12.6.2 结果集的分析 200
12.7 数据库连接池 205
习题 206
第13章 多线程 208
13.1 多线程概述 209
13.1.1 线程的相关概念 209
13.1.2 线程状态和生命周期 209
13.2 线程的创建和启动 211
13.2.1 继承Thread类 211
13.2.2 实现Runnable接口 212
13.2.3 两种创建线程方法的讨论 214
13.3 线程的控制 214
13.3.1 结束线程 214
13.3.2 检查线程 214
13.3.3 挂起线程 215
13.4 线程的同步 217
13.4.1 同步代码块 217
13.4.2 同步方法 218
13.4.3 管道流 218
13.4.4 死锁 218
13.5 线程交互 218
习题 222
第14章 网络通信 225
14.1 网络通信概述 226
14.2 使用InetAddress 227
14.3 统一资源定位器 227
14.3.1 URL概述 227
14.3.2 URL的构造方法 228
14.3.3 获取URL对象属性 228
14.3.4 与URL相关的异常 228
14.3.5 读入URL数据 229
14.4 基于TCP协议的网络通信 229
14.4.1 Socket相关的基本概念 229
14.4.2 ServerSocket类 230
14.4.3 Socket类 230
14.5 基于UDP协议的网络通信 231
14.5.1 UDP Socket通信概述 231
14.5.2 发送和接收数据 231
习题 237
参考文献 240