第1章 认识Java 1
1-1 历史的回顾 2
1-1-1 Java的发展过程 2
1-1-2 Java的发展史 2
1-2 Java的虚拟机 3
1-3 Java的未来发展 4
1-4 编写第一个Java程序 5
1-4-1 编译与执行Javaapplication 5
1-4-2 编译与执行Javaapplet 7
本章摘要 10
自我考评 11
第2章 简单的Java程序 13
2-1 一个简单的例子 14
2-2 简单的Java程序解析 16
2-2-1 类(class) 16
2-2-2 大括号、段及主体 16
2-2-3 程序执行的起始点—main()method 17
2-2-4 变量 18
2-2-5 变量的设置 18
2-2-7 println() 19
2-2-6 为什么要声明变量 19
2-3 再看一个例子:有参数的情形 20
2-4 标识符及关键字 21
2-4-1 标识符 21
2-4-2 关键字 21
2-5 检测 22
2-5-1 语法错误 22
2-5-2 语义错误 22
2-6 提高程序的可读性 23
自我考评 25
本章摘要 25
第3章 变量与数据类型 29
3-1 变量与常量 30
3-2 基本数据类型 31
3-2-1 整数类型 31
3-2-2 字符类型 36
3-2-3 浮点数类型与倍精度浮点数类型 38
3-2-4 布尔类型 39
3-2-5 基本数据类型的默认值 40
3-3-1 自动类型转换 41
3-3 数据类型的转换 41
3-3-2 强制类型转换 42
3-4 由键盘输入数据 43
3-4-1 输入字符串 44
3-4-2 输入数值 44
3-4-3 输入多个数据 46
本章摘要 47
自我考评 47
第4章 运算符、表达式与语句 51
4-1-1 赋值运算符 52
4-1 表达式与运算符 52
4-1-2 一元运算符 53
4-1-3 算术运算符 54
4-1-4 关系运算符与if语句 57
4-1-5 递增与递减运算符 58
4-1-6 逻辑运算符 59
4-1-7 括号运算符 61
4-2 运算符的优先级 61
4-3 表达式 62
4-4 表达式的类型转换 64
自我考评 66
本章摘要 66
第5章 循环与选择性语句 69
5-1 程序的结构设计 70
5-1-1 循环结构 70
5-1-2 选择结构 70
5-1-3 重复结构 71
5-2 循环 72
5-2-1 for循环 72
5-2-2 while循环 74
5-2-3 dowhile循环 75
5-2-4 嵌套循环 78
5-3 循环的跳离 79
5-3-1 break语句 79
5-3-2 continue语句 80
5-4 我的程序会转弯——选择语句 82
5-4-1 if语句 82
5-4-2 if-else语句 82
54-3 if的简洁版——条件运算符 84
5-5 更好用的多重选择—switch语句 85
5-6 局部变量 87
自我考评 88
本章摘要 88
第6章 数组与函数 93
6-1 一维数组 94
6-1-1 一维数组的声明与内存的分配 94
6-1-2 数组中元素的表示方法 95
6-1-3 数组初值的赋值 97
6-1-4 简单的范例:找出数组元素的最大值与最小值 98
6-2 二维数组 99
6-2-1 二维数组的声明与分配内存 99
6-2-2 二维数组元素的引用及访问 101
6-3 三维以上的多维数组 102
6-4 函数 103
6-4-1 简单的范例 104
6-4-2 method的变量与返回值 105
6-4-3 将数组传递到method里 106
6-4-4 递归method 109
本章摘要 110
自我考评 111
第7章 类的基本架构 115
7-1-1 类的基本概念 116
7-1 认识类 116
7-1-2 类的声明 117
7-1-3 创建新的对象 118
7-1-4 使用类来设计完整的程序 120
7-1-5 同时创建多个对象 121
7-2 有关method的使用 122
7-2-1 定义与使用method 123
7-2-2 再看一个简单的范例 124
7-2-3 数据成员的访问方式 126
7-2-4 在类定义的内部调用method 128
7-3-1 调用method并传递参数 129
7-3 参数的传递 129
7-3-2 传递多个参数 131
7-4 method的返回值 132
7-4-1 没有返回值的method 132
7-4-2 有返回值的method 133
7-5 公有成员与私有成员 134
7-5-1 创建私有成员 135
7-5-2 创建公有成员 136
7-5-4 省略public与private 138
本章摘要 138
7-5-3 数据的封装 138
自我考评 139
第8章 类的其他功能 143
8-1 函数成员(method)的重载 144
8-1-1 重载 144
8-1-2 使用重载常犯的错误 147
8-2 构造函数 148
8-2-1 构造函数的基本认识 148
8-2-2 构造函数的调用时机 148
8-2-3 构造函数的重载 149
8-2-4 从某一构造函数调用另一构造函数 151
8-2-5 构造函数的公有与私有 152
8-2-6 构造函数的省略 154
8-3 类变量与类方法 154
8-3-1 实例变量与实例方法 154
8-3-2 类变量(classvariable) 156
8-3-3 类方法 158
8-3-4 “类方法”使用的限制 160
8-4 类类型的变量 161
8-4-1 赋值给类类型的变量 162
8-4-2 以类类型的变量传递参数 164
8-4-3 由method返回类类型的变量 165
8-4-4 释放内存 166
8-5 利用数组来保存对象 167
8-5-1 创建对象数组的范例 168
8-5-2 传递对象数组到method里 169
8-6 内部类 171
8-6-1 内部类的编写 171
8-6-2 匿名内部类 174
本章摘要 175
自我考评 176
第9章 继承 179
9-1 继承的基本概念 180
9-1-1 简单的继承范例 180
9-1-2 调用父类中特定的构造函数 183
9-1-3 使用构造函数常见的错误 185
9-2 由子类访问父类的成员 187
9-3 覆盖 189
9-3-1 覆盖父类的method 189
9-3-2 以父类的变量访问子类的成员 190
9-4 再谈super()与this() 192
9-5 赋值终止继承 194
9-6 类之源——Object类 195
本章摘要 199
自我考评 200
第10章 抽象类与接口 203
10-1 抽象类 204
10-1-1 定义抽象类 204
10-1-2 抽象类的实现 204
10-1-3 用抽象类类型的变量来创建对象 208
10-1-4 使用抽象类的注意事项 209
10-2 接口的使用 209
10-3 多重继承 213
10-4 接口的扩展 215
自我考评 218
第11章 大型程序的发展 223
11-1 文件的分割 224
11-2-1 package的基本概念 225
11-2 使用package 225
11-2-2 将独立分开的类纳入同一个package中 227
11-3 访问在不同package里的类 228
11-3-1 简单的范例 229
11-3-2 public,private与protected修饰符的角色 230
11-3-3 导入packages 231
11-4 构造package的层次关系 232
11-5 Java常用的类库 234
11-5-1 有关字符串的类库 237
11-5-2 StringBuffer类库 239
11-5-3 wrapperclass 240
11-5-4 使用math类 241
本章摘要 243
自我考评 243
第12章 异常处理 245
12-1-1 为何需要异常处理? 246
12-1-2 简单的异常范例 246
12-1 异常的基本概念 246
12-1-3 异常的处理 247
12-1-4 异常处理机制的回顾 250
12-2 异常类的继承架构 250
12-3 抛出异常 252
12-3-1 在程序中抛出异常 252
12-3-2 指定method抛出异常 253
12-4 自己编写异常类 255
12-5 回顾IOException异常类 257
本章摘要 258
自我考评 259
第13章 文件处理 261
13-1 关于流 262
13-2 使用Reader与Writer类 263
13-2-1 文件的读取——使用FileReader类 264
13-2-2 文件的写入——使用FileWriter类 266
13-2-3 文件的读取——使用BufferedReader类 267
13-2-4 文件的读取——使用BufferedWriter类 268
13-3 使用InputStream与OutputStream类 270
13-3-1 文件的写入——使用FileInputStream类 270
13-3-2 文件的写入——使用FileOutputStraem类 271
本章摘要 273
自我考评 273
第14章 多线程 277
14-1 认识线程 278
14-2 用Runnable接口来创建线程 281
14-3 线程的管理 282
14-3-1 线程的生命周期 283
14-3-2 让线程小睡片刻 284
14-3-3 等待线程 285
14-4 同步处理 287
本章摘要 290
自我考评 290
第15章 AWT窗口对象 293
15-1 认识AWT类 294
15-1-1 简单的范例 294
15-1-2 窗口对象的类简介 298
15-2 创建窗口 301
15-3 创建标签 303
15-4 创建按钮 306
15-5 创建复选框 308
15-6 创建文字输入组件 310
15-6-1 用TextField创建文本框 311
15-6-2 用TextArea创建文本区 313
15-7 页面设置与管理 315
15-7-1 使用BorderLayout类 315
15-7-2 使用CardLayout类 317
15-7-3 使用FlowLayout类 318
15-7-4 使用GridLayout类 320
15-8 使用Panel面板 321
本章摘要 323
自我考评 324
第16章 事件处理 327
16-1 委派事件模型 328
16-1-1 简单的范例 328
16-1-2 定义内部类当成聆听者 331
16-2 认识事件处理类 332
16-3 使用ActionEvent类 335
16-4 使用ItemEvent类 337
16-5 文本事件的处理——TextEvent类 339
16-6 按键事件的处理——KeyEvent类 340
16-6-1 以KeyListener接口处KeyEvent事件 341
16-6-2 以KeyAdapter类事件处理KeyEvent事件 343
16-7 鼠标事件的处理——MouseEvent类 344
16-7-1 以MouseListener接口处理MouseEvent事件 345
16-7-2 以MouseMotionListener接口处理MouseEvent事件 347
16-7-3 以MouseAdapter类事件处理MouseEvent事件 349
16-8 窗口事件的处理——WindowEvent类 350
本章摘要 352
自我考评 353
第17章 菜单,菜单栏与滚动条 357
17-1 选择窗体 358
17-1-1 用List类创建选择窗体 358
17-1-2 选择窗体的事件处理 360
17-2 下拉菜单 361
17-2-1 用Choice类创建下拉菜单 362
17-2-2 下拉菜单的事件处理 363
17-3 菜单栏 364
17-3-1 创建菜单栏 366
17-3-2 菜单栏的事件处理 367
17-4 滚动条 368
17-5 对话框 371
17-6 文件对话框 374
本章摘要 377
自我考评 377
第18章 AWT的绘图 381
18-1-1 坐标系统 382
18-1-2 Graphics类 382
18-1 绘图概述 382
18-2 设置颜色与字体 388
18-2-1 设置颜色 388
18-2-2 设置字体 391
18-3 Graphics类 393
本章摘要 404
自我考评 404
第19章 网页的向导-Applet 407
19-1 applet概述 408
19-1-1 简单的Javaapplet 408
19-1-2 Applet类 410
19-1-3 使用HTML的〈APPLET〉标记 411
19-2 applet的执行程序 416
本章摘要 417
19-3 装扮applet窗口 419
19-3-1 加入AWT组件到applet里 419
19-3-2 在applet窗口内用鼠标绘出圆形 421
19-4 加载影像与简单的动画制作 423
19-4-1 加载与显示影像 423
19-4-2 移动影像 424
19-5 播放音乐文件 426
本章摘要 428
自我考评 429
附录A 下载与安装JDK1.4 431
A-1 JDK的下载与安装 432
A-1-1 下载JDK 432
A-1-2 安装JDK 434
A-1-3 设置JDK的操作环境 436
A-2-1 下载JDK参考文件 440
A-2 JDK参考文件下载与安装 440
A-2-2 安装JDK参考文件 441
附录B JCreatorLE的使用 443
B-1 JCreatorLE的下载与安装 444
B-1-1 下载JCreatorLE 444
B-1-2 安装JCreatorLE 444
B-2 首次激活JCreatorLE时的设置 447
B-3 JCreatorLE的使用 448
B-3-1 JCreatorLE的使用设置 448
B-3-2 编写、编译与运行Javaapplication 450
B-3-3 编译与运行有参数的Javaapplication 452
B-3-4 编译与运行Javaapplet 454
B-4 JCreatorLE其他的功能 458
附录C ASCII码表 461
中文索引 467
英文索引 475