第1章 Java概述 1
1.1基本知识点 1
1.1.1面向对象编程的基本概念 1
1.1.2 Java开发工具包 3
1.1.3 Java集成开发环境Eclipse 3
1.2示例解析 4
1.2.1 JDK的安装 4
1.2.2安装Eclipse 9
1.2.3利用Eclipse编辑、编译和运行Hello World! 11
1.3知识拓展 15
1.3.1如何利用JDK编译、运行Hello World!程序 15
1.3.2如何输入并输出一个整数 18
习题1 19
第2章 Java语言基础知识 20
2.1基本知识点 20
2.1.1标识符与关键字 20
2.1.2基本数据类型 21
2.1.3数据类型的转换 22
2.1.4常量与变量 22
2.1.5运算符 23
2.1.6流程控制语句 25
2.1.7 Java程序的基本构成 28
2.2示例解析 29
2.2.1查看基本数据类型的取值范围 29
2.2.2基本数据类型之间的转换 32
2.2.3奇偶数判断 33
2.2.4判断一个对象是不是某个类的一个实例 34
2.2.5学生成绩判断 35
2.2.6打印1~100之间的整数 37
2.2.7找出1至给定整数之间的所有质数 37
2.2.8解一元二次方程 41
2.3知识拓展 43
2.3.1学生成绩判断如何使用switch语句实现 43
2.3.2如何使用递归函数 44
习题2 46
第3章 面向对象的编程方法 47
3.1基本知识点 47
3.1.1类 47
3.1.2对象 49
3.1.3类的封装 50
3.1.4类的继承 50
3.1.5类的多态 51
3.1.6抽象类与接口 51
3.2示例解析 52
3.2.1访问控制符的作用范围 52
3.2.2方法重载 59
3.2.3构造方法的重载 60
3.2.4类继承中的实例对象的构造顺序 63
3.2.5 final类不允许派生子类 64
3.2.6类继承中属性和方法的继承与覆盖 65
3.2.7基于接口实现多继承 68
3.3知识拓展 71
3.3.1在Java中如何判断两个类对象的值是否相等 71
3.3.2在Java中怎样实现值传送 73
习题3 76
第4章 Java常用类库和数据结构 78
4.1基本知识点 78
4.1.1 String对象和StringBuffer对象 78
4.1.2 System类 79
4.1.3 Math对象 80
4.1.4数组 80
4.1.5常用集合类 81
4.2示例解析 83
4.2.1 String类常见操作 83
4.2.2 String Buffer类常见操作 84
4.2.3获得系统属性 85
4.2.4回显字符串 86
4.2.5打印乘法表 88
4.2.6两个矩阵相加 89
4.2.7两个矩阵相乘 91
4.2.8读取并显示文件内容 94
4.2.9 Hashtable类的应用 96
4.3知识拓展 98
4.3.1如何读取并反序显示文件内容 98
4.3.2如何使得集合类能够识别对象的类型 100
4.3.3如何方便地对一组对象进行排序 102
习题4 106
第5章 Java I/O系统 107
5.1基本知识点 107
5.1.1流 107
5.1.2字节流 107
5.1.3字符流 109
5.1.4文件操作 110
5.1.5对象序列化 111
5.2示例解析 112
5.2.1 File类常用方法示例 112
5.2.2文件行数统计 114
5.2.3利用FileInputStream读取文件 116
5.2.4利用FileOutputStream写入文件 118
5.2.5在指定文件中查找词语 120
5.2.6 dir命令的Java实现 122
5.2.7在指定目录中查找词语 124
5.2.8读取一个文件的内容并写入另外一个文件中 126
5.3知识拓展 129
5.3.1在列目录时如何过滤文件 129
5.3.2如何向文件中写入指定的内容 132
5.3.3如何实现对象的序列化 136
习题5 138
第6章 异常处理 139
6.1基本知识点 139
6.1.1什么是异常 139
6.1.2异常的处理 140
6.1.3异常的抛出 140
6.1.4自定义异常 141
6.2示例解析 141
6.2.1数组下标越界异常 141
6.2.2空指针异常 142
6.2.3抛出并捕获异常的示例 144
6.2.4构造一个特殊的字符串类 145
6.3知识拓展 146
如何自定义异常 146
习题6 147
第7章 图形用户界面 148
7.1基本知识点 148
7.1.1 AWT图形用户界面 148
7.1.2 Swing图形用户界面 152
7.1.3 JavaApplet 153
7.2示例解析 153
7.2.1窗体使用示例 153
7.2.2 FlowLayout使用示例 154
7.2.3 BorderLayout使用示例 156
7.2.4 GridLayout使用示例 157
7.2.5使窗体可以响应事件 159
7.2.6 Button使用示例 162
7.2.7 Label使用示例 164
7.2.8 Checkbox使用示例 166
7.2.9 Choice使用示例 168
7.2.10 Panel使用示例 169
7.2.11 List使用示例 171
7.2.12 Canvas使用示例 172
7.2.13 TextField使用示例 174
7.2.14 TextArea使用示例 176
7.2.15对话框使用示例 178
7.2.16 Menu使用示例 181
7.2.17 Swing中组件的使用示例 183
7.2.18 JScrollPane使用示例 184
7.2.19 JSplitPane使用示例 186
7.2.20 JTabbedPane使用示例 189
7.2.21 JToolBar使用示例 190
7.2.22 JTable使用示例 192
7.2.23 JTree使用示例 194
7.2.24小程序使用示例 198
7.3知识拓展 200
何为匿名类?如何在图形界面编程中使用匿名类 200
习题7 202
第8章 多线程 203
8.1基本知识点 203
8.1.1什么是线程 203
8.1.2线程的生命周期与控制 204
8.1.3线程的调度 206
8.1.4多线程的同步与通信 206
8.2示例解析 206
8.2.1通过Thread类实现线程 206
8.2.2通过Runnable接口实现线程 208
8.2.3设置线程的优先级 209
8.2.4终止一个线程 213
8.2.5幽灵程序示例 215
8.2.6线程池示例 216
8.3知识拓展 220
8.3.1如何实现线程的同步 220
8.3.2如何在线程之间交换数据 224
习题8 227
第9章 网络编程 228
9.1基本知识点 228
9.1.1网络和Java网络编程的基本概念 228
9.1.2 Internet地址操作 231
9.1.3 URL和URLConnection 231
9.1.4套接字编程 232
9.2示例解析 233
9.2.1显示指定域名的主机的IP地址信息 233
9.2.2显示本机的IP地址信息 235
9.2.3获得一个指定的URL的内容 236
9.2.4查看指定主机的指定端口是否提供TCP服务 239
9.2.5 Echo的服务端和客户端实现 241
9.3知识拓展 247
9.3.1如何使用Socket获得一个指定的URL的内容 247
9.3.2如何使用服务器端套接字查看本机的指定端口是否提供TCP服务 249
9.3.3如何实现ping命令 251
9.3.4如何获得本机的MAC地址 254
习题9 257
第10章 优雅而高效的Java编程 258
10.1基本知识点 258
10.1.1编码规范 258
10.1.2程序的效率 259
10.1.3优雅的编程——设计模式浅谈 260
10.2示例解析 260
10.2.1静态工厂模式示例 260
10.2.2工厂方法模式示例 263
10.2.3抽象工厂模式示例 265
10.2.4单例模式示例 268
10.2.5观察者模式示例 270
10.3知识拓展 274
如何应用Java自带的观察者实现 274
习题10 276
第11章 编程实例 277
11.1数据表查看器 277
11.1.1系统总体设计 277
11.1.2系统模块的设计与实现 278
11.2流程图绘制工具 301
11.2.1系统总体设计 301
11.2.2系统模块的设计与实现 302
习题11 318
参考文献 319