第1章
Java概述 1
1.1
Java的历史与现状 1
1.1.1
Java的历史 1
1.1.2
Java的现状 2
1.2
Java的特点 2
1.2.1
简单易学 2
1.2.2
面向对象 3
1.2.3
分布式 3
1.2.4
健壮性 3
1.2.5
平台无关 3
1.2.6
安全稳定 4
1.2.7
可移植性 4
1.2.8
解释执行 4
1.2.9
高性能 4
1.2.10 多线程 4
1.3
Java语言开发工具简介 4
1.3.1
Sun JDK软件包 5
1.3.2
Java WorkShop 9
1.3.3
Borland JBuilder 10
1.3.4
IBM VisualAge for Java 10
1.3.5
Microsoft Visual J
10
1.4
初识Java程序 10
1.4.1
Java Application程序 11
实例1
“欢迎进入Java天地!” 11
1.4.2
Java Applet程序 14
实例2
“欢迎进入Java Applet天地!” 14
1.5
Java和C, C 的比较 17
1.5.1
全局变量 17
1.5.2
goto语句 17
1.5.3
指针 17
1.5.4
内存管理 17
1.5.5
数据类型的支持 18
1.5.6
类型转换 18
1.5.7
头文件 18
1.5.8
结构和联合 18
1.5.9
预处理 18
习题1 18
第2章
Java编程基础 19
2.1
Java程序的结构 19
2.2
Java程序的基本输入与输出 21
2.2.1
Java Application字符界面的输入与输出 22
实例3
Java Application字符的输入与输出 22
实例4
Java Application字符串的输入与输出 23
2.2.2
Java Applet图形界面输入与输出 24
实例5
Java Applet图形界面输入与输出 24
2.2.3
Java Application图形界面输入与输出 26
实例6
Java Application图形界面输入与输出 26
2.2.4
同时作为Application与Applet的程序 27
实例7
同时作为Application与Applet程序 28
2.3
数据类型 29
2.3.1
标识符与关键字 29
2.3.2
数据类型 30
2.4
常量与变量 31
2.4.1
常量 32
2.4.2
变量 34
2.5
运算符与表达式 39
2.5.1
概述 40
2.5.2
算术运算符和算术表达式 40
2.5.3
关系运算符和关系表达式 43
2.5.4
布尔(逻辑)运算符和布尔(逻辑)表达式 44
2.5.5
位运算符和位运算表达式 45
2.5.6
赋值运算符和赋值表达式 48
2.5.7
条件运算符和条件表达式 49
2.5.8
其他运算符 49
2.5.9
运算符的优先级和结合性 50
2.6
流程控制语句 51
2.6.1
结构化程序设计的三种基本流程 51
2.6.2
简单语句 51
2.6.3
选择语句 51
实例8
判断大小写字母 53
实例9
判断某年是否是闰年 54
实例10 百分制成绩对应的等级 59
2.6.4
循环语句 61
实例11 求1~20的阶乘之和 63
实例12 求1000之内的所有完全数 64
实例13 求1000之内的所有水仙花数 66
2.6.5
跳转语句 68
2.7
数组与字符串 71
2.7.1
数组 71
实例14 选择排序算法 74
实例15 菲波那契数列 75
实例16 杨辉三角 76
2.7.2
字符串 77
2.8
编程实例 82
实例17
两个小于1000的正随机整数之和 82
实例18
三角形 83
实例19
矩阵对角线之和 84
实例20
加密解密 85
习题2 87
第3章
Java面向对象编程 91
3.1
面向对象程序设计基础 91
3.1.1
面向对象概述 91
3.1.2
面向对象中的基本概念 92
3.1.3
面向对象的软件开发过程 94
3.1.4
面向对象程序设计方法的优点 95
3.2
Java中的类与对象 97
3.2.1
Java中类的定义 97
实例21
“人”类的定义 99
3.2.2
创建对象与构造方法 99
实例22
用构造方法定义“人”类 101
3.3
域的定义与实现 102
3.3.1
静态域 103
实例23
静态变量与实例变量 104
3.3.2
静态初始化器 106
实例24
静态初始化器 107
3.3.3
最终域 108
3.3.4
易失域 108
3.4
方法的定义与实现 109
3.4.1
静态方法 110
实例25
静态方法 111
3.4.2
抽象方法 112
实例26
抽象方法 113
3.4.3
最终方法 114
3.4.4
本地方法 114
3.4.5
同步方法 115
3.4.6
方法的参数传递 115
实例27
通过参数传递来求1000之内的完全数 115
3.4.7
main 方法中的参数 116
实例28
命令行参数 118
3.4.8
this与super的使用 119
3.5
包 123
3.5.1
包的概念 123
3.5.2
包的创建 123
3.5.3
包的引用 124
3.5.4
编译和运行包中的类 125
3.5.5
常见的系统包 126
3.6
访问控制符 128
3.6.1
public修饰符 129
3.6.2
private修饰符 129
3.6.3
protected修饰符 129
3.6.4
private protected修饰符 130
3.6.5
默认访问控制符 130
3.7
面向对象高级编程 132
3.7.1
类的继承 132
3.7.2
类的多态 134
3.8
接口 137
3.8.1
接口的概念 137
3.8.2
接口的定义 138
3.8.3
接口的实现 139
3.9
综合实例 140
实例29
显示学生信息 140
实例30
描述正方形 142
习题3 144
第4章
异常处理 149
4.1
异常的概念 149
4.1.1
异常类的结构与组成 151
4.1.2
系统定义的异常 152
4.1.3
用户自定义的异常 153
4.1.4
Java异常处理的优点 153
4.2
异常处理 153
4.2.1
捕捉异常 154
实例31
捕捉异常 156
4.2.2
声明异常 157
4.2.3
抛出异常 159
实例32
抛出异常 159
4.2.4
多异常的处理 160
4.3
创建自定义异常 161
实例33
创建自定义异常——计算0~100之间的两个整数之和 163
习题4 165
第5章
Java图形用户界面设计基础 167
5.1
Java图形用户界面概述 167
5.2
GUI标准组件 168
5.2.1
GUI组件分类 168
5.2.2
容器类组件 169
5.2.3
控制组件 172
5.2.4
Component类 173
5.3
Java事件处理机制 173
5.3.1
事件类 173
5.3.2
Java事件处理机制 174
实例34
测试事件 175
实例35
鼠标事件 179
5.3.3
事件适配器 181
5.4
布局管理 184
5.4.1
FlowLayout类 185
实例36
FlowLayout布局 186
5.4.2
BorderLayout类 188
实例37
BorderLayout布局 189
5.4.3
GridLayout类 190
实例38
GridLayout布局 191
5.4.4
CardLayout类 192
实例39
CardLayout布局 193
5.4.5
GridBagLayout类 195
5.5
常用组件的使用 197
5.5.1
按钮(Button) 197
实例40
按钮的使用方法 199
5.5.2
标签(Label) 200
5.5.3
文本组件 201
实例41
文本框的使用方法 203
实例42
文本区的使用方法 205
5.5.4
复选框(Checkbox) 206
5.5.5
单选按钮(CheckboxGroup) 208
实例43
单选按钮的使用方法 209
5.5.6
下拉列表(Choice) 210
实例44
下拉列表的使用方法 211
5.5.7
列表(List) 212
5.5.8
滚动条(Scrollbar) 214
实例45
滚动条的使用方法 215
5.5.9
画布(Canvas) 216
实例46
画布的使用方法 216
5.5.10 对话框(Dialog) 217
5.5.11 文件对话框(FileDialog) 218
5.6
图形. 图像处理 218
5.6.1
绘制图形 218
实例47
绘制矩形 222
实例48
绘制椭圆形 223
5.6.2
控制颜色 224
5.6.3
显示文字 226
实例49
设置字体 227
5.6.4
显示图像 228
5.7
创建和使用菜单 229
5.7.1
创建菜单条式菜单 229
实例50
菜单条式菜单 231
5.7.2
建立二级菜单 233
5.7.3
弹出式菜单(PopupMenu) 234
5.8
SwingGUI组件 234
5.8.1
JApplet类 236
5.8.2
JLabel类 237
5.8.3
JTextField类 237
5.8.4
JButton类 237
实例51
JButton的使用 238
5.8.5
JCheckBox类 239
5.8.6
JRadioButton类 239
5.8.7
JComboBox类 239
5.8.8
JPasswordField类 240
习题5 240
第6章
多线程 241
6.1
基本概念 241
6.1.1
程序. 进程与线程 241
6.1.2
Java中线程的生命周期 242
6.1.3
Java中线程的调度与优先级 244
6.2
创建和控制多线程 245
6.2.1
Thread类 245
6.2.2
Runnable接口 246
6.2.3
实现多线程 247
实例52
简单的线程——通过继承Thread类创建线程 247
实例53
简单的线程——通过实现Runnable接口创建线程 249
6.2.4
控制线程 252
6.2.5
线程的同步 254
6.3
多线程编程实例 255
实例54
两个互不干涉的线程 256
实例55
求素数——用多线程实现 257
实例56
一个简单时钟 260
习题6 262
第7章
Java Applet程序的应用 265
7.1
Java Applet概述 265
7.1.1
Applet的工作原理 266
7.1.2
Applet的主要方法及生命周期 266
7.1.3
Applet的优点 268
7.1.4
Applet的限制 269
7.2
HTML基础 269
7.2.1
HTML常用标记 269
7.2.2
Applet标记 272
7.2.3
HTML与Applet参数传递 274
7.3
Java Applet编程实例 275
7.3.1
图形处理 275
实例57
改变窗口的背景色和文字 276
实例58
用鼠标绘制矩形 277
7.3.2
图像处理 279
实例59
图像浏览器 280
实例60
跟踪图像下载 282
实例61
水面倒影 283
7.3.3
声音处理 287
实例62
播放音乐 288
7.3.4
动画特效 290
实例63
波浪文字 296
实例64
卡通动画 299
7.3.5
其他特效 302
习题7 302
第8章
Java输入输出处理 303
8.1
流式输入输出 303
8.1.1
流式输入输出概述 303
8.1.2
基本输入输出流类 303
8.1.3
其他输入输出流类 304
8.1.4
标准输入输出 305
实例65
标准输入输出 306
8.2
文件与目录 307
8.2.1
Java文件和目录管理 307
实例66
显示文件和目录信息 309
8.2.2
文件输入输出流 311
实例67
生成文件 311
8.2.3
随机存取文件 312
习题8 314
第9章
Java网络编程 315
9.1
网络基础 315
9.1.1
TCP/IP协议 315
9.1.2
通信端口 316
9.1.3
URL概念 316
9.1.4
Java与网络编程 317
9.2
URL编程 318
9.2.1
创建URL对象 318
9.2.2
获取URL对象的属性 318
实例68
获取URL属性 319
9.2.3
使用URL类访问网络资源 319
9.3
InetAddress编程 322
实例69
获取IP地址 322
9.4
Socket通信 324
9.4.1
Socket类 324
9.4.2
ServerSocket类 324
9.4.3
Socket通信 324
9.5
数据报通信 327
习题9 328
第10章
Java高级技术简介 329
10.1
J2EE 329
10.1.1
J2EE的概念 329
10.1.2
J2EE的多层模型 330
10.1.3
J2EE的核心API与组件 330
10.2
J2ME 331
10.3
Java Servlet 331
10.3.1
Java Servlet的结构 331
10.3.2
Java Servlet的生命周期 332
10.3.3
Java Servlet的优点 332
10.3.4
Java Servlet的应用范围 333
10.3.5
Java Servlet应用实例 334
10.4
JSP 335
10.4.1
JSP简介 335
10.4.2
JSP引擎 336
10.4.3
JSP和其他相关技术的比较 336
10.5
JDBC 337
10.5.1
JDBC的工作机制 337
10.5.2
JDBC API 337
10.5.3
JDBC的优点和缺点 338
习题10 338
第11章
附录 339
11.1
Java常用术语 339
11.2
Java常用类 340
11.2.1
基本对象类——Object 340
11.2.2
系统类——System 341
11.2.3
数据类型包装类 341
11.2.4
数学类——Math 342
11.2.5
Calendar类 343
11.2.6
Random类 344
11.2.7
向量类——Vector 344
11.3
Java集成开发环境 345
11.3.1
FreeJava简介 346
11.3.2
使用FreeJava 346
11.3.3
FreeJava菜单介绍 350
习题答案 351