第1章 认识Java 2
1.1 历史的回顾 2
1.1.1 Java的发展历史 2
1.1.2 Java的特点 3
1.2 Java的虚拟机 4
1.3 Java的未来发展 5
1.4 编写第一个Java程序 6
1.4.1 编译与执行Java Applcation 7
1.4.2 编译与执行Java Applet 9
本章摘要 13
习题 13
第2章 简单的Java程序 16
2.1 一个简单的例子 16
2.2 简单的Java程序解析 18
2.2.1 类 18
2.2.2 大括号、区块及本体 19
2.2.3 程序执行的起始点——main()method 19
2.2.4 变量 20
2.2.5 变量的赋值 21
2.2.6 为什么要声明变量 22
2.2.7 println()method 22
2.3 再看一个例子:有参数的情形 23
2.4 标识符及保留字 24
2.4.1 标识符 24
2.4.2 关键字 24
2.5 排错 25
2.5.1 语法错误 25
2.5.2 语义错误 26
2.6 提高程序的可读性 27
本章摘要 29
习题 29
第3章 变量与数据类型 32
3.1 变量的使用 32
3.2 基本数据类型 33
3.2.1 整数类型 34
3.2.2 字符类型 38
3.2.3 浮点数类型与双精度浮点数类型 41
3.2.4 布尔类型 43
3.3 数据类型的转换 44
3.3.1 自动类型转换 44
3.3.2 强制类型转换 45
3.4 从键盘输入数据 46
3.4.1 输入字符串 47
3.4.2 输入数值 47
3.4.3 输入多个数据 49
本章摘要 50
习题 50
第4章 运算符、表达式与语句 50
4.1 表达式与运算符 54
4.1.1 赋值运算符 54
4.1.2 一元运算符 55
4.1.3 计算运算符 56
4.1.4 关系运算符与if语句 58
4.1.5 递增与递减运算符 59
4.1.6 逻辑运算符 60
4.1.7 括号运算符 62
4.2 运算符的优先级 62
4.3 表达式 63
4.4 表达式的类型转换 64
本章摘要 66
习题 66
第5章 选择语句与循环 70
5.1 程序的结构设计 70
5.1.1 顺序结构 70
5.1.2 选择结构 70
5.1.3 循环结构 71
5.2 我的程序会转弯——选择语句 71
5.2.1 if语句 71
5.2.2 if-else语句 72
5.2.3 更多的选择——嵌套if语句 73
5.2.4 if的简洁版——条件运算符 74
5.3 循环 75
5.3.1 for循环 75
5.3.2 while循环 77
5.3.3 do while循环 79
5.3.4 嵌套循环 81
5.4 循环的跳转 82
5.4.1 break语句 82
5.4.2 continue语句 83
5.5 更好用的分支选择——switch语句 84
本章摘要 87
习题 87
第6章 数组 94
6.1 一维数组 94
6.1.1 一维数组的声明与内存的分配 94
6.1.2 数组的另一种声明方式 95
6.1.3 数组中元素的表示方法 96
6.1.4 数组初始值的赋值 97
6.1.5 简单的范例:找出数组元素的最大值与最小值 98
6.2 二维数组 99
6.2.1 二维数组的声明与内存分配 99
6.2.2 二维数组元素的引用及存取 102
6.3 多维数组 103
本章摘要 106
习题 106
第7章 函数 110
7.1 函数的基本概念 110
7.1.1 简单的范例 110
7.1.2 method的参数与返回值 112
7.1.3 参数是如何传递给method的 113
7.2 传递数组到method里 115
7.2.1 传递一维数组 115
7.2.2 传递二维数组 116
7.2.3 返回数组的method 116
7.2.4 数组的传递机制 117
7.3 递归 119
7.4 method的重载 120
本章摘要 123
习题 123
第8章 认识类 126
8.1 认识类 126
8.1.1 类的基本概念 126
8.1.2 类的定义格式 127
8.1.3 创建新的对象 128
8.1.4 使用类来设计完整的程序 131
8.1.5 同时创建多个对象 132
8.2 成员函数的使用 133
8.2.1 定义与使用method 133
8.2.2 再看一个简单的范例 135
8.2.3 成员变量的存取方式 137
8.2.4 成员函数的相互调用 138
8.3 参数的传递与返回值 139
8.3.1 调用method并传递参数 139
8.3.2 传递多个参数 141
8.3.3 没有返回值的method 141
8.3.4 有返回值的method 142
8.4 成员函数的重载 143
8.4.1 重载 143
8.4.2 使用重载常犯的错误 146
8.5 公有成员与私有成员 147
8.5.1 创建私有成员 148
8.5.2 创建公有成员 149
8.5.3 数据的封装 151
8.5.4 省略public与private 151
本章摘要 152
习题 152
第9章 类的进阶认识 160
9.1 构造函数 160
9.1.1 构造函数的基本认识 160
9.1.2 构造函数的调用时机 160
9.1.3 构造函数的重载 161
9.1.4 从某一构造函数调用另一构造函数 163
9.1.5 构造函数的公有与私有 164
9.1.6 预设构造函数 166
9.2 类变量与类函数 167
9.2.1 实例变量与实例函数 167
9.2.2 类变量 169
9.2.3 类函数 171
9.2.4 “类函数”使用的限制 173
9.3 类类型的变量 174
9.3.1 设值给类类型的变量 175
9.3.2 以类类型的变量传递参数 177
9.3.3 由method返回类类型的变量 178
9.3.4 回收内存 180
9.4 利用数组来储存对象 180
9.4.1 创建对象数组的范例 182
9.4.2 传递对象数组到method里 183
9.5 嵌套类 184
9.5.1 内部类的编写 184
9.5.2 匿名内部类 187
9.5.3 嵌套类里的其他成员 188
本章摘要 191
习题 191
第10章 类的继承 200
10.1 继承的基本概念 200
10.1.1 简单的继承范例 201
10.1.2 构造函数的调用 204
10.1.3 使用构造函数常见的错误 206
10.2 保护成员(protected members) 209
10.3 覆盖 211
10.3.1 覆盖父类的method 211
10.3.2 以父类的变量访问子类对象的成员 212
10.4 再谈super与this 215
10.5 设定终止继承 217
10.6 类之源——Object类 218
本章摘要 223
习题 223
第11章 抽象类与接口 232
11.1抽象类 232
11.1.1 定义抽象类 232
11.1.2 抽象类的实现 232
11.1.3 用抽象类类型的变量来创建对象 236
11.1.4 使用抽象类的注意事项 237
11.2 接口的使用 238
11.3 多重继承 241
11.4 接口的延伸 244
本章摘要 246
习题 246
第12章 大型程序的开发与常用的类库 246
12.1 文件的分割 254
12.2 使用包(package) 255
12.2.1 包(package)的基本概念 255
12.2.2 将不同文件中的类包含进同一个package中 257
12.3 访问不同package里的类 259
12.3.1 简单的范例 261
12.3.2 public、private与protected修饰符的角色 262
12.4 建立package的层次关系 263
12.5 JCreator的Project管理 266
12.5.1 新建JCreator的Project 266
12.5.2 打开已存在的Project 271
12.5.3 加入现有的程序到Project 271
12.6 Java常用的类库 274
12.6.1 有关字符串的类库 276
12.6.2 StringBuffer类库 279
12.6.3 wrapper class 280
12.6.4 使用Math类 281
本章摘要 283
习题 283
第13章 异常处理 290
13.1 异常的基本概念 290
13.1.1 为何需要异常处理? 290
13.1.2 简单的异常范例 290
13.1.3 异常的处理 291
13.1.4 异常处理机制的回顾 294
13.2 异常类的继承结构 294
13.3 抛出异常 296
13.3.1 在程序中抛出异常 296
13.3.2 指定method抛出异常 298
13.4 自己编写异常类 300
13.5 回顾IOException异常类 301
本章摘要 303
习题 303
第14章 文件处理 310
14.1 关于流 310
14.2 文件的基本处理 311
14.2.1 读取文件的内容——使用FileReader类 312
14.2.2 将数据写入文件——使用FileWriter类 313
14.3 利用缓冲区来读写数据 314
14.3.1 从缓冲区读取数据——使用BufferedReader类 315
14.3.2 将数据写入缓冲区——使用BufferedWriter类 317
14.4 使用InputStream与OutputStream类 318
14.4.1 读取文件的内容——使用FileInputStream类 318
14.4.2 将数据写入文件——使用FileOutputStraem类 320
本章摘要 321
习题 322
第15章 多线程 326
15.1 认识线程 326
15.2 实现Runnable接口来创建线程 329
15.3 线程的管理 330
15.3.1 线程的生命周期 331
15.3.2 让线程小睡片刻 332
15.3.3 等待线程 333
15.4 同步处理 335
本章摘要 338
习题 338
第16章 Java collection集合对象 338
16.1 认识集合对象 342
16.1.1 认识collection结构 343
16.1.2 泛型与collection 343
16.2 实现Set接口 344
16.2.1 实现Set接口——HashSet类 346
16.2.2 实现SortedSet接口——TreeSet类 348
16.3 实现List接口 349
16.3.1 实现List接口——Linked List类 351
16.3.2 实现List接口——ArrayList类 353
16.4 实现Map接口 354
16.4.1 实现Map接口——HashMap类 355
16.4.2 实现SortedMap接口——TreeMap类 357
16.5 迭代集合对象的元素 357
16.5.1 使用Iterator接口迭代元素 358
本章摘要 361
习题 361
第17章 AWT窗口对象 366
17.1 认识AWT类 366
17.1.1 简单的范例 366
17.1.2 窗口对象的类简介 370
17.2 创建窗口 373
17.3 创建标签 374
17.4 创建按钮 378
17.5 创建复选框 380
17.6 创建文字输入对象 383
17.6.1 用TextField创建文本框 383
17.6.2 用TextArea创建文字区 385
17.7 版面配置与管理 387
17.7.1 使用BorderLayout类 387
17.7.2 使用CardLayout类 389
17.7.3 使用FlowLayout类 391
17.7.4 使用GridLayout类 392
17.8 使用Panel面板 393
本章摘要 395
习题 396
第18章 事件处理 400
18.1 委托事件模式 400
18.1.1 简单的范例 400
18.1.2 定义内部类当成监听者 403
18.2 认识事件处理类 404
18.3 使用ActionEvent类 407
18.4 使用ItemEvent类 409
18.5 文字事件的处理——TextEvent类 411
18.6 按键事件的处理——KeyEvent类 412
18.6.1 以KeyListener接口处理KeyEvent事件 413
18.6.2 以KeyAdapter类事件处理KeyEvent事件 415
18.7 鼠标事件的处理——MouseEvent类 416
18.7.1 以MouseListener接口处理MouseEvent事件 417
18.7.2 以MouseMotionListener接口处理MouseEvent事件 419
18.7.3 以MouseAdapter类处理MouseEvent事件 420
18.7.4 以MouseMotionAdapter类处理MouseEvent事件 421
18.8 窗口事件的处理——WindowEvent类 422
本章摘要 426
习题 425
第19章 AWT的其他控件 430
19.1 选择窗体 430
19.1.1 用List类创建选择窗体 430
19.1.2 选择窗体的事件处理 432
19.2 下拉列表 433
19.2.1 用Choice类创建下拉列表 433
19.2.2 下拉列表的事件处理 434
19.3 菜单 436
19.3.1 创建菜单 437
19.3.2 菜单的事件处理 438
19.4 滚动条 440
19.5 对话框 442
19.6 文件对话框 445
本章摘要 449
习题 449
第20章 AWT的绘图 454
20.1 绘图概述 454
20.1.1 坐标系统 454
20.1.2 Graphics类 454
20.2 设置颜色与字体 460
20.2.1 设置颜色 460
20.2.2 设置字体 463
20.3 Graphics类 465
本章摘要 479
习题 476
第21章 网页精灵——applet 476
21.1 Applet概述 480
21.1.1 简单的Java Applet 480
21.1.2 Applet类 482
21.1.3 认识HTML的文件结构 483
21.2 Applet的执行程序 489
21.3 装扮Applet窗口 491
21.3.1 加入AWT组件到Applet里 491
21.3.2 在Applet窗口内用鼠标绘出圆形 493
21.4 导入图像与简单的动画制作 495
21.4.1 导入与显示图像 495
21.4.2 移动图像 496
21.5 播放音乐文件 500
本章摘要 502
习题 503
第22章 网络程序设计 506
22.1 网址与InetAddress类的使用 506
22.2 认识URL 508
22.3 创建CS结构程序——使用Socket类 513
本章摘要 517
习题 517
第23章 认识Swing 520
23.1 Swing概述 520
23.2 Swing的JFrame窗口 522
23.3 按钮与标签 526
23.3.1 使用JButton按钮 526
23.3.2 使用JLabel标签 528
23.4 复选框 531
23.5 创建JList选单对象 533
23.6 颜色选择方块 538
本章摘要 540
习题 540