注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关Java基础教程:从问题分析到程序设计

Java基础教程:从问题分析到程序设计

Java基础教程:从问题分析到程序设计

定 价:¥98.00

作 者: (美)D.S.Malik,(美)P.S.Nair著;张少华,郭平译
出版社: 清华大学出版社
丛编项:
标 签: JAVA语言

ISBN: 9787302090946 出版时间: 2004-10-01 包装: 简裝本
开本: 26cm 页数: 824 字数:  

内容简介

  本书通过多个清晰而准确的示例说明了如何利用Java语言成功地编写程序,详细地介绍了编程课程所涉及的两个最重要的方面:如何分析问题和如何解决问题。本书适用于所有对Java编程感兴趣的读者,既可作教材也可作参考书。学习本书无需具备编程经验,但应具备一些高等数方面的知识。本书结构特色·章首的“主要内容”部分介绍了要在章节中详细讨论的Java编程概念。·通过大量的图形和示例,详尽而直观地说明了较难理解的概念。·各章尾的“编程示例”部分提供了完整的程序,其中包括“输入”、“输出”“问题分析”、“算法设计”和“完整的程序清单”等各个具体的阶段。·“快速回顾”部分对每章所涵盖的概念进行了总结。·“练习题”进一步巩固所学的内容,确保学生能够真正掌握各章节的内容。·“编程练习”要求学生练习编写一些较复杂的Java程序,并输出结果。·“注意”部分重点说明了与章节中所介绍概念相关的重要内容。

作者简介

  D.S.Malik是Creighton大学的数学和计算机科学教授。他于1985年在Ohio大学获得了博士学位。自那以后,他就一一直在Creighton大学讲授计算机编程方面的课程。他已经在抽象代数、模糊自控理论和语言、模糊逻辑及其应用和信息科学领域发表了40多篇论文,并编写了6本专著。P.S.Nair是Creighton大学的计算机科学系主任。他于1989年在Montreal市的Concordia大学获得了博士学位。他曾在数据库、算法设计、计算机视觉和模式识别领域发表过30多篇论文。

图书目录

目 录
第1章 计算机和编程语言概述 1
1.1 简介 1
1.2 概述计算机的发展史 2
1.3 计算机系统的描述 2
1.3.1 硬件 2
1.3.2 软件 4
1.4 计算机语言 4
1.5 编程语言的发展史 5
1.6 Java程序的执行 6
1.7 规划分析-编码-执行周期中出现的问题 8
1.8 编程方法 12
1.8.1 结构化编程 12
1.8.2 面向对象编程 12
1.9 快速回顾 13
1.10 练习题 14
第2章 Java的基本元素 16
2.1 Java程序的基础知识 17
2.1.1 特殊字符 17
2.1.2 关键字 18
2.1.3 标识符 18
2.2 数据类型 19
2.3 算术运算符和运算符的优先级 22
2.4 表达式 25
2.5 类型转换(强制转换) 27
2.6 String类 28
2.7 输入 31
2.7.1 为已命名常量和变量分配内存 31
2.7.2 对变量赋值 32
2.7.3 保存和使用表达式的值 34
2.7.4 声明和初始化变量 35
2.7.5 输入(读)语句 35
2.8 递增运算符和递减运算符 42
2.9 字符串和运算符+ 44
2.10 输出 45
2.11 包、类、方法和import语句 51
2.12 创建Java应用程序 52
2.13 编程风格和方式 55
2.13.1 语法 56
2.13.2 文档 57
2.14 更多的赋值语句 59
2.15 编程示例:换算长度 60
2.15.1 问题分析和算法设计 60
2.15.2 变量 61
2.15.3 已命名常量 61
2.15.4 主算法 61
2.15.5 综合 62
2.16 编程示例:货币单位换算 64
2.16.1 问题分析和算法设计 64
2.16.2 变量 65
2.16.3 已命名常量 65
2.16.4 主算法 65
2.17 快速回顾 68
2.18 练习题 70
2.19 编程练习 77
第3章 对象和输入/输出 79
3.1 对象和引用变量 79
3.2 在程序中使用预定义的类和方法 82
3.3 String类 84
3.4 输入/输出 91
3.4.1 利用对话框进行输入/输出 91
3.4.2 令牌化字符串 96
3.4.3 格式化小数数字的输出 99
3.5 文件输入/输出 101
3.5.1 从文件输入(读取)数据 102
3.5.2 将输出存储(写入)到文件 102
3.6 编程示例:售电影票和向慈善机构捐赠 104
3.6.1 问题分析和算法设计 104
3.6.2 变量 105
3.6.3 格式化输出 106
3.6.4 主算法 106
3.6.5 完整的程序清单 107
3.7 编程示例:学生分数 109
3.7.1 问题分析和算法设计 109
3.7.2 变量 109
3.7.3 主算法 110
3.8 快速回顾 112
3.9 练习题 113
3.10 编程练习 115
第4章 控制结构I 118
4.1 控制结构 118
4.2 关系运算符 119
4.3 关系运算符和基本数据类型 120
4.4 字符串比较 122
4.5 逻辑(布尔)运算符和逻辑表达式 125
4.6 优先顺序 126
4.6.1 快速求值法 130
4.6.2 boolean数据类型和逻辑(布尔)表达式 131
4.7 选择结构:if和if...else语句 131
4.7.1 单选 132
4.7.2 双项选择 134
4.7.3 复合(Block of)语句 137
4.7.4 多项选择:嵌套的if语句 138
4.7.5 将if...else语句与if语句进行比较 141
4.7.6 条件运算符(? :) 141
4.8 switch语句 142
4.9 编程示例:有线电视公司的收费单 148
4.9.1 问题分析和算法设计 148
4.9.2 变量 149
4.9.3 已命名常量 149
4.9.4 公式 149
4.9.5 主算法 150
4.10 快速回顾 153
4.11 练习题 154
4.12 编程练习 159第5章 控制结构II 162
5.1 为什么需要重复执行语句 162
5.2 while循环(重复)结构 163
5.2.1 计数器控制的while循环 166
5.2.2 标记控制的while循环 168
5.2.3 标志控制的while循环 173
5.2.4 EOF控制的while循环 174
5.3 编程示例:经常账户余额 175
5.3.1 问题分析和算法设计 176
5.3.2 变量和对象 176
5.3.3 已命名常量 178
5.3.4 主算法 179
5.4 编程示例: 斐波纳契数列 184
5.4.1 问题分析和流程设计 185
5.4.2 变量 185
5.4.3 主算法 185
5.5 for循环(重复)结构 188
5.6 编程示例:分类数字 193
5.6.1 问题分析和算法设计 193
5.6.2 变量 194
5.6.3 主算法 194
5.7 do...while循环(重复)结构 197
5.8 break语句和continue语句 200
5.9 嵌套控制结构 202
5.10 快速回顾 205
5.11 练习题 206
5.12 编程练习 217
第6章 图形用户界面和面向对象的设计 220
6.1 图形用户界面组件 220
6.1.1 创建窗口 224
6.1.2 JFrame 224
6.1.3 获得对内容窗格的访问权 228
6.1.4 JLabel 229
6.1.5 JTextField 232
6.1.6 JButton命令按钮 235
6.2 编程示例:温度换算程序 242
6.2.1 问题分析、GUI设计和算法设计 242
6.2.2 变量、对象和命名常量 243
6.2.3 完整的程序清单 247
6.3 面向对象的设计 249
6.4 实现类和操作 255
6.5 快速回顾 257
6.6 练习题 258
6.7 编程练习 260
第7章 用户定义的方法 262
7.1 预定义方法 263
7.2 用户定义的方法 267
7.2.1 返回值的方法 267
7.2.2 return语句 270
7.2.3 最终程序 273
7.3 编程示例:回文数 274
7.4 程序的执行流程 277
7.5 编程示例:最大数 278
7.6 void方法 280
7.7 将基本数据类型的变量作为参数 286
7.8 将引用变量作为参数 287
7.8.1 参数和内存分配 290
7.8.2 谨慎使用作为参数的String类型的引用变量 290
7.8.3 类StringBuffer 293
7.9 类中标识符的作用域 300
7.10 方法重载概述 302
7.11 编程示例:数据比较 303
7.11.1 问题分析和算法设计 303
7.11.2 变量(方法main) 304
7.11.3 方法calculateAverage 305
7.11.4 局部变量(方法calculateAverage) 305
7.11.5 方法PrintResult 306
7.11.6 主算法:方法main 307
7.11.7 条形图 312
7.11.8 方法PrintResult 312
7.12 快速回顾 314
7.13 练习题 315
7.14 编程练习 324第8章 用户定义的类和ADT 330
8.1 类 330
8.1.1 构造函数 333
8.1.2 统一的建模语言图 334
8.1.3 变量声明和对象实例化 334
8.1.4 访问类成员 336
8.1.5 对类执行的内置操作 337
8.1.6 赋值运算符和类 337
8.1.7 类的作用域 339
8.1.8 方法和类 339
8.1.9 Clock类的构造函数和一般方法的定义 339
8.2 复制构造函数 352
8.3 类和toString方法 352
8.4 类的静态成员 353
8.5 Finalizer方法 356
8.6 创建自己的包 356
8.7 this引用 360
8.8 内部类 364
8.9 抽象数据类型 364
8.10 编程示例:糖果机 365
8.10.1 问题分析和算法设计 366
8.10.2 实例变量 366
8.10.3 方法 366
8.10.4 实例变量 369
8.10.5 方法 369
8.10.6 主程序 373
8.10.7 糖果机:创建一个GUI 377
8.10.8 主程序 379
8.10.9 事件处理 380
8.11 快速回顾 386
8.12 练习题 387
8.13 编程练习 392
第9章 数组 395
9.1 为什么需要数组 395
9.2 数组 396
9.2.1 声明数组的其他方法 397
9.2.2 访问数组元素 398
9.2.3 在程序执行时指定数组的大小 400
9.2.4 数组和实例变量length 401
9.2.5 一维数组的处理 401
9.2.6 在声明数组时对数组进行初始化 405
9.2.7 数组索引出界异常 405
9.2.8 特别注意:赋值运算符、关系运算符和数组 405
9.2.9 将数组作为方法的参数 408
9.3 平行数组 412
9.4 对象数组 412
9.5 二维数组 414
9.5.1 访问数组元素 416
9.5.2 声明时初始化二维数组 418
9.5.3 二维数组的处理 419
9.5.4 将二维数组作为参数传递给方法 424
9.6 多维数组 426
9.7 编程示例:文本处理 427
9.7.1 问题分析和算法设计 428
9.7.2 主算法 430
9.8 快速回顾 432
9.9 练习题 433
9.10 编程练习 436
第10章 数组和字符串的应用 441
10.1 列表处理 441
10.1.1 查找 441
10.1.2 排序列表:选择排序 443
10.1.3 对有序列表进行顺序查找 449
10.1.4 二分查找法 451
10.2 类Vector 455
10.3 编程示例:选举结果 461
10.4 再次学习类String 475
10.5 编程示例:pig latin字符串 479
10.5.1 问题分析和算法设计 480
10.5.2 主算法 482
10.6 快速回顾 485
10.7 练习题 485
10.8 编程练习 487第11章 继承和组合 489
11.1 继承 489
11.1.1 在子类中使用超类的方法 491
11.1.2 超类和子类的构造函数 496
11.1.3 类的保护成员 503
11.2 类Object 507
11.3 Java流类 508
11.4 超类和子类的对象 509
11.5 抽象方法和类 514
11.6 接口 517
11.7 组合 518
11.8 编程示例:成绩单 523
11.8.1 第I部分:学生成绩单(控制台显示) 523
11.8.2 问题分析和算法设计 525
11.8.3 主程序 539
11.8.4 第Ⅱ部分:学生成绩单(GUI设计) 544
11.8.5 主程序 550
11.9 快速回顾 555
11.10 练习题 556
11.11 编程练习 562
第12章 处理异常和事件 565
12.1 Java异常的层次 565
12.2 Java的Exception类 568
12.3 检查和非检查异常 570
12.4 处理程序中的异常 571
12.4.1 try/catch/finally块 571
12.4.2 catch块的顺序 572
12.4.3 Exception类和instanceof运算符 576
12.4.4 重新抛出和抛出异常 580
12.5 printStackTrace方法 584
12.6 异常处理技术 586
12.6.1 终止程序 586
12.6.2 修复错误并继续执行 586
12.6.3 记录错误并继续执行 587
12.7 创建自己的异常类 587
12.8 事件处理 590
12.9 编程示例:计算器 595
12.10 快速回顾 602
12.11 练习题 604
12.12 编程练习 607
第13章 高级GUI和图形 609
13.1 applet 612
13.2 类Font 615
13.3 类Color 618
13.4 类Graphics 623
13.5 其他GUI组件 633
13.5.1 JTextArea 633
13.5.2 JCheckBox 638
13.5.3 JRadioButton 644
13.5.4 JComboBox 650
13.5.5 JList 654
13.6 布局管理器 660
13.6.1 FlowLayout 660
13.6.2 BorderLayout 663
13.7 菜单 665
13.8 键盘和鼠标事件 667
13.8.1 键盘事件 668
13.8.2 鼠标事件 670
13.9 编程示例:Java Kiosk 677
13.10 快速回顾 685
13.11 练习题 685
13.12 编程练习 687
第14章 递归 690
14.1 递归定义 690
14.1.1 直接和间接递归 692
14.1.2 无限递归 692
14.2 使用递归解决问题 693
14.3 递归或迭代哪一个更好 702
14.4 编程示例:将一个数从十进制转化为二进制 703
14.5 编程示例:Sierpinski Gasket图形 705
14.6 快速回顾 709
14.7 练习题 710
14.8 编程练习 712
附录A Java保留字 717
附录B 运算符优先级 718
附录C 字符集 720
附录D 程序包和用户定义的类 723
附录E Java类 733
附录F 部分练习题的答案 789

本目录推荐