第1章 认识Java 1
1-1 历史的回顾 1
1-1-1 Java的发展过程 1
1-1-2 Java的发展史 1
1-2 Java的虚拟机 2
1-3 Java的未来发展 3
1-4 编写第一个Java程序 4
1-4-1 编译与运行Java application 4
1-4-2 编译与运行Java applet 6
本章摘要 9
自我考评 9
第2章 简单的Java程序 11
2-1 一个简单的例子 11
2-2 简单的Java程序解析 12
2-2-1 类(class) 13
2-2-2 大括号、段及主体 13
2-2-3 程序运行的起始点——main()方法 14
2-2-4 变量 14
2-2-5 变量的设置 15
2-2-6 为什么要声明变量 15
2-2-7 println() 15
2-3 再看一个例子:有参数的情况 16
2-4 标识符及关键字 17
2-4-1 标识符 17
2-4-2 关键字 17
2-5 检测 17
2-5-1 语法错误 18
2-5-2 语义错误 18
2-6 提高程序的可读性 19
本章摘要 20
自我考评 21
第3章 变量与数据类型 23
3-1 变量与常量 23
3-2 基本数据类型 24
3-2-1 整数类型 24
3-2-2 字符类型 28
3-2-3 单精度浮点数与双精度浮点数 30
3-2-4 布尔类型 31
3-2-5 基本数据类型的默认值 32
3-3 数据类型的转换 32
3-3-1 自动类型转换 32
3-3-2 强制类型转换 33
3-4 由键盘输入数据 34
3-4-1 输入字符串 35
3-4-2 输入数值 35
3-4-3 输入多个数据 36
本章摘要 37
自我考评 37
第4章 运算符、表达式与语句 40
4-1 表达式与运算符 40
4-1-1 赋值运算符 40
4-1-2 一元运算符 41
4-1-3 算术运算符 42
4-1-4 关系运算符与if语句 44
4-1-5 自增与自减运算符 45
4-1-6 逻辑运算符 46
4-1-7 括号运算符 47
4-2 运算符的优先级 48
4-3 表达式 49
4-4 表达式的类型转换 51
本章摘要 52
自我考评 52
第5章 循环与选择性语句 55
5-1 程序的结构设计 55
5-1-1 循环结构 55
5-1-2 选择结构 55
5-1-3 重复结构 56
5-2 循环 56
5-2-1 for循环 56
5-2-2 while循环 58
5-2-3 do while循环 60
5-2-4 嵌套循环 61
5-3 循环的跳离 62
5-3-1 break语句 62
5-3-2 continue语句 63
5-4 我的程序会转弯——选择语句 65
5-4-1 if语句 65
5-4-2 if-else语句 65
5-4-3 if的简洁版——条件运算符 66
5-5 更好用的多重选择——switch语句 67
5-6 局部变量 69
本章摘要 70
自我考评 71
第6章 数组与函数 74
6-1 一维数组 74
6-1-1 一维数组的声明与内存的分配 74
6-1-2 数组中元素的表示方法 75
6-1-3 数组初值的赋值 76
6-1-4 简单的范例:找出数组元素的最大值与最小值 77
6-2 二维数组 78
6-2-1 二维数组的声明与分配内存 78
6-2-2 二维数组元素的引用及访问 80
6-3 三维以上的多维数组 81
6-4 函数 82
6-4-1 简单的范例 82
6-4-2 方法的参数与返回值 83
6-4-3 将数组传递到方法里 85
6-4-4 递归方法 87
本章摘要 88
自我考评 89
第7章 类的基本架构 92
7-1 认识类 92
7-1-1 类的基本概念 92
7-1-2 类的声明 93
7-1-3 创建新的对象 94
7-1-4 使用类来设计完整的程序 96
7-1-5 同时创建多个对象 97
7-2 有关方法的使用 97
7-2-1 定义与使用方法 98
7-2-2 再看一个简单的范例 99
7-2-3 数据成员的访问方式 101
7-2-4 在类定义的内部调用方法 102
7-3 参数的传递 103
7-3-1 调用方法并传递参数 103
7-3-2 传递多个参数 104
7-4 方法的返回值 105
7-4-1 没有返回值的方法 106
7-4-2 有返回值的方法 106
7-5 公有成员与私有成员 107
7-5-1 创建私有成员 108
7-5-2 创建公有成员 109
7-5-3 数据的封装 110
7-5-4 省略public与private 111
本章摘要 111
自我考评 111
第8章 类的其他功能 114
8-1 函数成员(方法)的重载 114
8-1-1 重载 114
8-1-2 使用重载常犯的错误 117
8-2 构造函数 117
8-2-1 构造函数的基本认识 117
8-2-2 构造函数的调用时机 118
8-2-3 构造函数的重载 119
8-2-4 从某一构造函数调用另一构造函数 120
8-2-5 构造函数的公有与私有 121
8-2-6 构造函数的省略 122
8-3 类变量与类方法 123
8-3-1 实例变量与实例方法 123
8-3-2 类变量(class variable) 124
8-3-3 类方法 126
8-3-4 “类方法”使用的限制 128
8-4 类类型的变量 129
8-4-1 赋值给类类型的变量 129
8-4-2 以类类型的变量传递参数 131
8-4-3 由方法返回类类型的变量 132
8-4-4 释放内存 133
8-5 利用数组来保存对象 134
8-5-1 创建对象数组的范例 135
8-5-2 传递对象数组到方法里 136
8-6 内部类 137
8-6-1 内部类的编写 137
8-6-2 匿名内部类 139
本章摘要 141
自我考评 142
第9章 继承 144
9-1 继承的基本概念 144
9-1-1 简单的继承范例 144
9-1-2 调用父类中特定的构造函数 146
9-1-3 使用构造函数常见的错误 148
9-2 由子类访问父类的成员 150
9-3 覆盖 152
9-3-1 覆盖父类的方法 152
9-3-2 以父类的变量访问子类的成员 153
9-4 再谈super()与this() 155
9-5 终止继承 156
9-6 类之源—Object类 157
本章摘要 161
自我考评 161
第10章 抽象类与接口 164
10-1 抽象类 164
10-1-1 定义抽象类 164
10-1-2 抽象类的实现 164
10-1-3 用抽象类类型的变量来创建对象 167
10-1 4 使用抽象类的注意事项 168
10-2 接口的使用 169
10-3 多重继承 172
10-4 接口的扩展 174
本章摘要 176
自我考评 176
第11章 大型程序的发展 180
11-1 文件的分割 180
11-2 使用package 181
11-2-1 package的基本概念 181
11-2-2 将独立分开的类纳入同一个package中 183
11-3 访问在不同package里的类 184
11-3-1 简单的范例 184
11-3-2 public、private与protected修饰符的角色 185
11-3-3 导入packages 186
11-4 构造package的层次关系 187
11-5 Java常用的类库 189
11-5-1 有关字符串的类库 191
11-5-2 StringBuffer类库 192
11-5-3 wrapper class 193
11-5-4 使用math类 195
本章摘要 196
自我考评 197
第12章 异常处理 199
12-1 异常的基本概念 199
12-1-1 为何需要异常处理 199
12-1-2 简单的异常范例 199
12-1-3 异常的处理 200
12-1-4 异常处理机制的回顾 202
12-2 异常类的继承架构 203
12-3 抛出异常 204
12-3-1 在程序中抛出异常 204
12-3-2 指定方法抛出异常 206
12-4 自己编写异常类 207
12-5 回顾IOException异常类 208
本章摘要 209
自我考评 210
第13章 文件处理 212
13-1 关于流 212
13-2 使用Reader与Writer类 213
13-2-1 文件的读取——使用FileReader类 214
13-2-2 文件的写入——使用FileWriter类 215
13-2-3 文件的读取——使用BufferedReader类 216
13-2-4 文件的读取——使用BufferedWriter类 218
13-3 使用InputStream与OutputStream类 219
13-3-1 文件的写入——使用FileInputStream类 219
13-3-2 文件的写入——使用FileOutputStraem类 220
本章摘要 222
自我考评 222
第14章 多线程 224
14-1 认识线程 224
14-2 用Runnable接口来创建线程 227
14-3 线程的管理 228
14-3-1 线程的生命周期 228
14-3-2 让线程小睡片刻 229
14-3-3 等待线程 230
14-4 同步处理 232
本章摘要 234
自我考评 235
第15章 AWT窗口对象 237
15-1 认识AWT类 237
15-1-1 简单的范例 237
15-1-2 窗口对象的类简介 240
15-2 创建窗口 243
15-3 创建标签 245
15-4 创建按钮 248
15-5 创建复选框 250
15-6 创建文字输入组件 252
15-6-1 用TextField创建文本框 252
15-6-2 用TextArea创建文本区 254
15-7 页面设置与管理 256
15-7-1 使用BorderLayout类 256
15-7-2 使用CardLayout类 258
15-7-3 使用FlowLayout类 259
15-7-4 使用GridLayout类 261
15-8 使用Panel面板 262
本章摘要 264
自我考评 265
第16章 事件处理 267
16-1 委派事件模型 267
16-1-1 简单的范例 267
16-1-2 定义内部类为聆听者 270
16-2 认识事件处理类 271
16-3 使用ActionEvent类 273
16-4 使用ItemEvent类 275
16-5 文本事件的处理——TextEvent类 277
16-6 按键事件的处理——KeyEvent类 278
16-6-1 以KeyListener接口处理KeyEvent事件 279
16-6-2 以KeyAdapter类事件处理KeyEvent事件 281
16-7 鼠标事件的处理——MouseEvent类 282
16-7-1 以MouseListener接口处理MouseEvent事件 283
16-7-2 以MouseMotionListener接口处理MouseEvent事件 285
16-7-3 以MouseAdapter类事件处理MouseEvent事件 286
16-8 窗口事件的处理——WindowEvent类 287
本章摘要 289
自我考评 290
第17章 菜单、菜单栏与滚动条 292
17-1 选择窗体 292
17-1-1 用List类创建选择窗体 292
17-1-2 选择窗体的事件处理 294
17-2 下拉菜单 295
17-2-1 用Choice类创建下拉菜单 295
17-2-2 下拉菜单的事件处理 296
17-3 菜单栏 298
17-3-1 创建菜单栏 299
17-3-2 菜单栏的事件处理 300
17-4 滚动条 301
17-5 对话框 304
17-6 文件对话框 307
本章摘要 309
自我考评 310
第18章 AWT的绘图 312
18-1 绘图概述 312
18-1-1 坐标系统 312
18-1-2 Graphics类 312
18-2 设置颜色与字体 317
18-2-1 设置颜色 317
18-2-2 设置字体 320
18-3 Graphics类 322
本章摘要 332
自我考评 332
第19章 网页的向导——Applet 334
19-1 applet概述 334
19-1-1 简单的Java applet 334
19-1-2 Applet类 336
19-1-3 使用HTML的<APPLET>标记 337
19-2 applet的运行程序 342
19-3 装扮applet窗口 344
19-3-1 加入AWT组件到applet里 344
19-3-2 在applet窗口内用鼠标绘出圆形 345
19-4 加载影像与简单的动画制作 347
19-4-1 加载与显示影像 347
19-4-2 移动影像 349
19-5 播放音乐文件 350
本章摘要 352
自我考评 353
附录 下载与安装JDK 1.4 355
A-1 JDK的下载与安装 355
A-1-1 下载JDK 355
A-1-2 安装JDK 357
A-1-3 设置JDK的操作环境 359
A-2 JDK参考文件下载与安装 362
A-2-1 下载JDK参考文件 362
A-2-2 安装JDK参考文件 364