第1章 计算机、Internet和Web 1
1.1简介 2
1.2什么是计算机 5
1.3计算机的组成 6
1.4操作系统的演化 6
1.5个人计算、分布式计算与客户/服务器计算 7
1.6机器语言、汇编语言和高级语言 7
1.7 C++的历史 8
1.8 Java的历史 9
1.9 Java的类库 10
1.10其他高级语言 11
1.11结构化编程 11
1.12 Internet和WWW 12
1.13典型Java环境的组成 12
1.14关于Java和本书的通用注释 15
1.15关于对象的思考:对象技术和统一建模语言简介 17
1.16揭示设计模式:简介 20
1.17本书概况 22
1.18 (选学)纵览利用UML进行面向对象设计的实例研究 32
1.19 (选学)浏览“揭示设计模式”的各个小节 35
第2章 Java应用程序 45
2.1简介 46
2.2第一个Java程序:打印一行文本 46
2.3修改第一个Java程序 50
2.3.1用多行语句显示一行文本 50
2.3.2用一行语句显示多行文本 51
2.4在对话框中显示文本 52
2.5另一个Java应用程序:整数相加 55
2.6存储器概念 60
2.7算术运算 61
2.8判断:相等和关系操作符 63
第5章 控制结构(第2部分) 65
2.9 (可选实例研究)关于对象的思考:考察问题陈述 69
5.8带标号的break和continue语句 84
第3章 Java applet 87
3.1简介 87
3.2 Java 2软件开发工具箱提供的简单applet示例 88
3.2.1 TicTacToe applet 88
3.2.2 DrawTest applet 91
3.2.3 Java2D applet 91
3.3一个简单的Java applet:显示一个字符串 92
3.4两个简单的applet:画字符串和线条 98
3.5另一个Java applet:浮点数相加 100
3.6在Web浏览器中查看applet 107
3.6.1在Netscape Navigator 6 中查看applet 107
3.6.2使用Java插件在其他浏览器中查看applet 107
3.7 Internet和WWW上的Java applet资源 109
3.8 (可选实例研究)关于对象的思考:标识问题陈述中的类 111
第4章 控制结构(第1部分) 123
4.1简介 123
4.4控制结构 124
4.3伪代码 124
4.2算法 124
4.5 if选择结构 126
4.6 if/else选择结构 127
4.7 while循环结构 131
4.8算法设计:实例研究1(计数器控制的循环) 132
4.9自上而下逐步细化地构成算法:实例研究2(标记控制的循环) 136
4.10自上而下逐步细化地构成算法:实例研究3(嵌套的控制结构) 143
4.11赋值操作符 147
4.12增量和减量操作符 148
4.13 本数据类型 150
4.14 (可选实例研究)关于对象的思考:标识类属性 151
5.1简介 165
5.2 由计数器控制的循环 166
5.3 for循环结构 167
5.4 for结构应用举例 171
5.5 switch多重选择结构 175
5.6 do/while循环结构 179
5.7 break和continue语句 181
5.9逻辑操作符 185
5.10结构化编程小结 191
5.11 (可选实例研究)关于对象的思考:标识对象的状态和活动 195
第6章 方法 207
6.1简介 208
6.2 Java中的程序模块 208
6.3 Math类的方法 209
6.4方法 209
6.5方法定义 210
6.6数据类型的提升 216
6.7 Java API包 217
6.8随机数的生成 218
6.9例子:碰运气游戏 222
6.10标识符的持续时间 229
6.11作用域规则 230
6.12递归 232
6.13递归举例:Fibonacci数列 235
6.14递归与迭代 239
6.15方法重载 241
6.16 JApplet类的方法 243
6.17 (可选实例研究)关于对象的思考:标识类操作 244
第7章 数组 263
7.1简介 263
7.2数组 264
7.3声明数组和给数组分配内存 265
7.4数组应用举例 266
7.4.1 分配数组内存并初始化数组元素 266
7.4.2 用初值表对数组进行初始化 267
7.4.3计算并存储数组元素的值 268
7.4.4计算数组元素之和 270
7.4.5使用柱状图显示数组数据 271
7.4.6使用数组元素作为计数器 272
7.4.7使用数组分析调查结果 273
7.5 引用和引用参数 276
7.6把数组传递给方法 276
7.7数组排序 279
7.8数组查找:线性查找和折半查找 281
7.8.1线性查找 281
7.8.2采用折半查找对有序数组进行查找 283
7.9多维数组 288
7.10 (可选实例研究)关于对象的思考:对象之间的协作 294
8.1简介 319
第8章 基于对象的编程 319
8.2 用类实现抽象数据类型:时间 320
8.3类作用域 327
8.4成员访问控制 327
8.5创建包 328
8.6初始化类对象:构造函数 332
8.7重载的构造函数 333
8.8 设置和读取方法 337
8.9软件复用性 346
8.10 final实例变量 347
8.11组合:对象作为其他类的实例变量 348
8.12包访问 351
8.13 this引用 353
8.14终结函数 359
8.15 static类成员 360
8.16数据抽象和封装 364
8.17 (可选实例研究)关于对象的思考:开始对电梯模拟系统的类进行编程 366
第9章 面向对象的编程 377
9.1简介 378
9.2超类和子类 379
9.3 protected成员 382
9.4超类对象和子类对象之间的关系 382
9.5子类中的构造函数和终结函数 388
9.7利用继承性的软件工程 392
9.6子类对象向超类对象的隐式转换 392
9.8组合和继承的比较 393
9.9实例研究:点、圆、圆柱体 393
9.10多态性简介 400
9.11类型域和switch语句 400
9.12动态方法绑定 400
9.13 final方法和final类 401
9.14抽象超类和具体类 401
9.15多态性实例 402
9.16实例研究:多态性在工资系统中的应用 404
9.18实例研究:继承接口和实现 411
9.17新类和动态绑定 411
9.19实例研究:创建和使用接口 418
9.20内部类定义 424
9.21内部类定义的注释 434
9.22基本类型的类型包装类 435
9.23 (可选实例研究)关于对象的思考:电梯模拟系统中继承性的应用 435
9.24 (选学)揭示设计模式:创建型设计模式、结构型设计模式及行为型设计模式简介 441
9.24.1创建型设计模式 442
9.24.2结构型设计模式 444
9.24.3行为型设计模式 444
9.24.5 Internet和WWW资源 446
9.24.4结束语 446
第10章 字符串和字符 455
10.1简介 456
10.2字符和字符串的基础知识 456
10.3 String类的构造函数 456
10.4 String类的length、charAt和getChars方法 458
10.5字符串比较 460
10.6 String类的hashCode方法 464
10.7在字符串中查找字符和子串 465
10.8从字符串中抽取子串 467
10.9字符串连接 468
10.10 String类的其他方法 469
10.11 String类的valueof方法 471
10.12 String类的intern方法 473
10.13 StringBuffer类 475
10.14 StringBuffer类的构造函数 475
10.15 StringBuffer类的length、capacity、setLength和ensureCapacity方法 476
10.16 StringBuffer类的charAt、setCharAt、getchars和reverse方法 478
10.17 stringBuffer类的append方法 479
10.18 StringBuffer类的插入和删除方法 481
10.19 Character类示例 482
10.20 StringTokenizer类 489
10.21洗牌和发牌模拟 492
10.22 (可选实例研究)关于对象的思考:事件处理 496