第1章 认识Java 1
1-1历史的回顾 2
1-1-1Java的发展过程 2
1-1-2Java的发展史 2
1-2Java的虚拟机 3
1-3Java的未来发展 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-7println() 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-1for循环 72
5-2-2while循环 74
5-2-3dowhile循环 75
5-2-4嵌套循环 78
5-3循环的跳离 79
5-3-1break语句 79
5-3-2continue语句 80
5-4我的程序会转弯——选择语句 82
5-4-1if语句 82
5-4-2if-else语句 82
5-4-3if的简洁版——条件运算符 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-2method的参数与返回值 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-4method的返回值 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
本章摘要 217
自我考评 218
第11章 大型程序的发展 223
11-1文件的分割 224
11-2使用package 225
11-2-1package的基本概念 225
11-2-2将独立分开的类纳入同一个package中 227
11-3访问在不同package里的类 228
11-3-1简单的范例 229
11-3-2public、private与protected修饰符的角色 230
11-3-3导入packages 231
11-4构造package的层次关系 232
11-5Java常用的类库 234
11-5-1有关字符串的类库 237
11-5-2StringBuffer类库 239
11-5-3wrapperclass 240
11-5-4使用math类 241
自我考评 243
本章摘要 243
第12章 异常处理 245
12-1异常的基本概念 246
12-1-1为何需要异常处理 246
12-1-2简单的异常范例 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绘图概述 382
18-1-1坐标系统 382
18-1-2Graphics类 382
18-2-1设置颜色 388
18-2设置颜色与字体 388
18-2-2设置字体 391
18-3Graphics类 393
本章摘要 404
自我考评 404
第19章 网页的向导——Applet 407
19-1applet概述 408
19-1-1简单的Javaapplet 408
19-1-2Applet类 410
19-1-3使用HTML的<APPLET>标记 411
19-2applet的运行程序 416
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-1下载JDK 432
A-1JDK的下载与安装 432
A-1-2安装JDK 434
A-1-3设置JDK的操作环境 436
A-2JDK参考文件下载与安装 440
A-2-1下载JDK参考文件 440
A-2-2安装JDK参考文件 441
附录B JCreatorLE的使用 443
B-1-1下载JCreatorLE 444
B-1-2安装JCreatorLE 444
B-1JCreatorLE的下载与安装 444
B-2首次激活JCreatorLE时的设置 447
B-3JCreatorLE的使用 448
B-3-1JCreatorLE的使用设置 448
B-3-2编写、编译与运行Javaapplication 450
B-3-3编译与运行有参数的Javaapplication 452
B-3-4编译与运行Javaapplet 454
B-4JCreatorLE其他的功能 458
附录C ASCII码表 461
中文索引 467
英文索引 475