《Java程式设计教程》是2013年清华大学出版社出版的图书,作者是牛晓太、王杰、管涛、李向、齐艳珂、王亚楠。
基本介绍
- 书名Java程式设计教程
- 作者牛晓太、王杰、管涛、李向、齐艳珂、王亚楠
- ISBN9787302317838
- 定价36
- 出版社清华大学出版社
- 出版时间2013.06.01
内容简介
全书着眼于Java语言的特点,细緻、全面地介绍了Java的基本概念、方法和套用。本着循序渐进、学以致用的思路编排知识要点,辅之以典型套用实例,逐例分析运行结果和程式代码,便于读者儘快熟悉和掌握。本书共分为12章,包括Java概述、Java基本语法、Java流程控制、Java面向对象编程、接口、内部类和Java API基础、异常处理、Applet程式、图形用户界面、输入输出流、多执行绪、访问资料库、网路程式设计等内容。,在每章的均列出习题若干,供读者参考。本书既适合作为普通高等院校计算机、网路工程等专业本科生(或高职高专学生)的Java程式设计课程教材,也适合从事软体开发的技术人员培训、自学使用。
编辑推荐
Java保持“常青树”状态,也由于它不断地发展自我、超越自我,从而在许许多多领域成为了系统研发的主流平台。例如电子商务、远程医疗、网上银行、虚拟课堂等等,基本上都使用Java技术开发。
当前,普通高等院校计算机、网路工程等专业都开设了Java程式设计课程,还有其他为数不少的专业也把Java语言列入教学计画。教材是体现教学内容的知识载体,是进行教学的基本工具。牛晓太主编的《Java程式设计教程(高等学校计算机课程规划教材)》在编写时,从现阶段高校使用最多的Java系列教材中吸取经验,结合作者在长期教学过程中的体会和积累,旨在向高校学生奉献一本有特色的教材,以及向工程技术人员和其他有兴趣的读者提供一本有价值的参考书。
目录
第1章Java概述1
1.1Java简介1
1.1.1Java的产生1
1.1.2Java的特点1
1.1.3Java三大平台2
1.2Java的开发和运行环境3
1.2.1Java虚拟机3
1.2.2JDK的安装3
1.2.3环境变数的设定5
1.2.4JavaAPI文档6
1.3Java程式开发实例7
1.3.1Java应用程式实例8
1.3.2Java小程式实例10
1.4Eclipse开发平台11
1.4.1Eclipse安装11
1.4.2Eclipse平台的项目开发12
习题114第2章Java基本语法15
2.1标识符和关键字15
2.1.1标识符15
2.1.2关键字15
2.1.3分隔设定16
2.1.4注释符16
2.2数据类型、变数与常量17
2.2.1数据类型17
2.2.2变数18
2.2.3常量18
2.3运算符和表达式19
2.3.1运算符19
2.3.2运算符的优先权25
2.3.3表达式25
2.4数据类型的转换29
习题230第3章Java流程控制32
3.1语句与程式结构32
3.1.1语句32
3.1.2程式结构33
3.2顺序结构33
3.3选择结构34
3.3.1if单分支结构34
3.3.2if双分支结构35
3.3.3if多分支结构36
3.3.4if的嵌套结构37
3.3.5switch语句39
3.4循环结构42
3.4.1for语句43
3.4.2while语句45
3.4.3do…while语句47
3.4.4循环嵌套48
3.5跳转结构50
3.5.1中断语句break50
3.5.2继续语句continue52
3.6数组套用53
3.6.1数组的定义53
3.6.2数组的运算55
3.6.3套用举例56
3.7字元串处理59
3.7.1字元串的定义和赋值59
3.7.2字元串的基本运算60
3.7.3套用举例62
习题363第4章Java面向对象编程67
4.1面向对象编程概述67
4.1.1面向对象的程式设计方法67
4.1.2类和对象67
4.1.3面向对象编程的特点67
4.1.4Java程式设计语言68
4.2类68
4.2.1类的定义68
4.2.2成员变数69
4.2.3成员方法70
4.2.4构造方法74
4.3对象76
4.3.1对象的声明76
4.3.2对象的创建及初始化77
4.3.3对象的使用77
4.3.4对象的销毁81
4.3.5this关键字81
4.4类的封装性83
4.4.1包83
4.4.2访问许可权85
4.4.3访问器87
4.4.4静态成员88
4.5类的继承性90
4.5.1继承的概念90
4.5.2子类90
4.5.3super关键字93
4.5.4最终类和抽象类95
4.6类的多态性96
4.6.1多态的概念96
4.6.2方法重载96
4.6.3方法覆盖98
4.6.4绑定99
习题4100第5章接口、内部类和JavaAPI基础105
5.1接口105
5.1.1接口的概念105
5.1.2接口的声明105
5.1.3接口的实现106
5.1.4常用系统接口109
5.2内部类110
5.2.1内部类和内部接口的概念110
5.2.2内部类的定义和使用111
5.3java.lang包中的基础类112
5.3.1Object类112
5.3.2System类112
5.3.3Math类113
5.3.4数据类型类114
5.4java.util包中的工具类115
5.4.1日期类116
5.4.2Random类116
5.4.3Scanner类117
5.4.4集合类117
习题5119
第6章异常处理121
6.1异常的概念121
6.2异常类123
6.2.1Error类及其子类124
6.2.2Exception类及其子类124
6.3异常处理125
6.3.1try…catch…finally语句125
6.3.2抛出异常129
6.4创建自己的异常类131
习题6132第7章Applet程式136
7.1Applet简介136
7.1.1JavaApplet说明136
7.1.2Applet的形式及其类的层次136
7.2Applet生命周期和显示方法137
7.2.1Applet生命周期137
7.2.2Applet类的显示方法138
7.2.3Applet的编写与执行139
7.3HTML中的Applet标记140
7.4Applet套用举例141
习题7144第8章图形用户界面147
8.1AWT与Swing147
8.1.1AWT概述147
8.1.2AWT的基本组件148
8.1.3Swing概述150
8.1.4AWT与Swing的区别151
8.2事件处理151
8.2.1Java中的事件处理机制152
8.2.2键盘事件155
8.2.3滑鼠事件157
8.2.4其他常用事件160
8.3布局管理器172
8.3.1布局管理器概述173
8.3.2常用布局173
8.4Swing组件176
8.4.1Swing包中类的关係176
8.4.2Swing中的容器177
8.4.3Swing中的常用组件188
8.4.4Swing中的新增组件191
8.4.5Swing事件概述195
习题8196第9章输入输出流198
9.1I/O流概述198
9.1.1数据流概念198
9.1.2Java数据流介绍198
9.2位元组流201
9.2.1InputStream和OutputStream201
9.2.2FileInputStream和FileOutputStream202
9.2.3RandomAccessFile205
9.2.4BufferedInputStream和BufferedOutputStream207
9.2.5ByteArrayInputStream和ByteArrayOutputStream209
9.2.6SequenceInputStream212
9.2.7标準输入输出流213
9.3字元流214
9.3.1Reader和Writer215
9.3.2InputStreamReader和OutputStreamWriter215
9.3.3FileReader和FileWriter218
9.3.4StringReader和StringWriter218
9.3.5其他类型的字元流220
9.4档案的处理221
9.4.1档案信息获取和属性更改221
9.4.2档案和目录操作224
9.5串列化225
9.5.1串列化的概念225
9.5.2串列化的方法226
习题9227第10章多执行绪229
10.1执行绪的概念229
10.1.1多执行绪编程的优势229
10.1.2多执行绪编程的难点230
10.2执行绪的实现230
10.2.1创建Java执行绪230
10.2.2Java执行绪的状态233
10.2.3Java执行绪的优先权234
10.2.4守护执行绪234
10.2.5终止另一个执行绪235
10.3执行绪同步237
10.3.1同步访问共享资源237
10.3.2协作完成任务240
习题10243第11章访问资料库245
11.1资料库简介245
11.1.1关係型资料库系统概述245
11.1.2MySQL资料库简介247
11.1.3MySQLWorkbench简介252
11.2使用JDBC进行资料库编程252
11.2.1JDBC架构简介253
11.2.2使用JDBC访问资料库253
11.2.3JDBC高级特性262
习题11270第12章网路程式设计272
12.1网路的基本概念272
12.1.1IP位址与连线埠号272
12.1.2Java中IP位址及连线埠号表示273
12.1.3客户伺服器工作模式275
12.1.4TCP与UDP通信275
12.2URL的使用275
12.2.1URL的表示275
12.2.2URL类276
12.2.3通过URLConnection实现双向通信278
12.3基于TCP的网路通信279
12.3.1客户端与伺服器端通信279
12.3.2多客户端通信285
12.4基于UDP的网路通信287
12.4.1UDP数据报文包287
12.4.2UDP通信288
习题12292
第1章C++入门1
1.1C++简介1
1.1.1C++的产生与发展1
1.1.2C++的特点2
1.2简单的C++程式3
1.2.1C++程式结构3
1.2.2输入与输出5
1.2.3注释6
1.3C++程式的上机执行过程7
1.4程式设计语言介绍8
1.4.1机器语言8
1.4.2彙编语言9
1.4.3高级语言10
习题113第2章基本数据类型与表达式14
2.1字元集与标识符14
2.1.1字元集14
2.1.2标识符14
2.1.3关键字15
2.2基本数据类型16
2.2.1整型16
2.2.2字元型16
2.2.3布尔型17
2.2.4浮点型17
2.3常量18
2.3.1数值型常量18
2.3.2字元型常量19
2.4变数20
2.4.1变数的定义20
2.4.2常变数21
2.5运算符与表达式23
2.5.1算术运算符与算术表达式23
2.5.2赋值运算符与赋值表达式24
2.5.3逗号运算符与逗号表达式24
2.5.4自增自减运算符25
2.5.5类型转换25
2.5.6位运算符与位运算表达式27
2.6计算机中的数据表示29
2.6.1计算机中的数制29
2.6.2数值型数据的表示31
2.6.3字元型数据的编码表示33
习题233第3章语句与结构化程式设计34
3.1功能语句与顺序结构程式设计34
3.1.1赋值语句34
3.1.2空语句34
3.1.3複合语句34
3.1.4顺序结构程式设计34
3.2分支语句与分支结构程式设计35
3.2.1关係表达式和逻辑表达式35
3.2.2if语句38
3.2.3if…else语句38
3.2.4条件运算符与条件表达式40
3.2.5switch语句41
3.3循环语句与循环结构程式设计42
3.3.1for循环语句43
3.3.2do…while循环语句45
3.3.3while循环语句47
3.3.4循环语句的嵌套48
3.4转移语句49
3.4.1break语句49
3.4.2continue语句49
3.4.3goto语句50
3.5程式举例51
3.6算法与程式设计58
3.6.1算法设计与分析58
3.6.2程式设计风格61
习题362第4章数组与字元串63
4.1数组的定义与使用63
4.1.1一维数组的定义与使用63
4.1.2二维数组的定义与使用64
4.2数组的初始化66
4.3数组套用举例67
4.3.1一维数组套用68
4.3.2二维数组套用73
4.4字元串76
4.4.1字元串变数的定义与使用76
4.4.2字元串变数的输入输出77
4.4.3字元串运算78
4.4.4字元串数组79
4.5字元数组81
4.6动态数组82
4.7静态数组访问的下标越界问题84
习题485第5章函式86
5.1函式定义86
5.2函式调用与函式声明87
5.2.1函式调用87
5.2.2函式声明88
5.3函式的参数传递90
5.3.1值传递90
5.3.2引用传递91
5.3.3函式的默认形参值92
5.4函式的嵌套与递归93
5.4.1函式嵌套94
5.4.2函式递归94
5.5数组作函式参数97
5.5.1数组元素作函式参数97
5.5.2一维数组名作函式参数98
5.5.3二维数组名作函式参数99
5.6内联函式100
5.7重载函式101
5.8系统函式103
习题5104第6章指针106
6.1指针变数106
6.1.1记忆体单元地址106
6.1.2指针变数的定义107
6.2指针的赋值与运算107
6.2.1指针的赋值107
6.2.2指针的运算108
6.3指针作为函式参数110
6.4指针与数组111
6.4.1数组的地址111
6.4.2指针与一维数组111
6.4.3指针与二维数组112
6.4.4指针数组114
6.5动态记忆体分配116
6.6函式指针119
习题6122第7章自定义数据类型123
7.1结构体类型123
7.1.1结构体类型的定义123
7.1.2结构体变数的定义与初始化124
7.1.3结构体变数的引用125
7.2结构体套用127
7.2.1结构体数组127
7.2.2结构体和指针129
7.2.3结构体和函式131
7.3共用体134
7.3.1共用体的定义135
7.3.2共用体的套用136
7.4鍊表137
7.4.1线性表137
7.4.2线性鍊表138
7.4.3线性鍊表的操作139
7.5枚举类型144
7.5.1枚举类型和枚举变数的定义144
7.5.2枚举变数的赋值和引用145
7.5.3枚举变数值的输入与输出145
习题7147第8章C++程式结构149
8.1C++程式构成149
8.2预处理命令150
8.2.1宏定义150
8.2.2档案包含151
8.2.3条件编译153
8.3变数的作用域156
8.3.1局部变数156
8.3.2全局变数156
8.4变数的存储类别157
8.4.1局部自动变数158
8.4.2局部暂存器变数159
8.4.3局部静态变数159
8.4.4外部变数声明160
8.5内部函式与外部函式162
8.5.1内部函式162
8.5.2外部函式163
习题8164第9章类和对象165
9.1面向对象程式设计概述165
9.1.1面向对象的概念165
9.1.2面向对象程式设计的特点165
9.1.3面向对象与面向过程的区别166
9.2类和对象167
9.2.1类的定义167
9.2.2对象的定义170
9.2.3对象成员的访问171
9.3构造函式173
9.3.1不带参数的构造函式173
9.3.2带参数的构造函式174
9.3.3带默认值的构造函式175
9.3.4带初始化表的构造函式176
9.3.5构造函式的重载178
9.4析构函式180
9.5複製构造函式183
9.5.1对象的赋值183
9.5.2对象的複製184
9.6对象数组188
9.7const对象和const成员190
9.8成员函式存储与this指针192
9.9类静态成员194
9.9.1静态数据成员194
9.9.2静态成员函式195
9.10友元函式与友元类197
9.10.1友元函式199
9.10.2友元类201
习题9202第10章继承与派生203
10.1继承与派生的概念203
10.2派生类的声明204
10.2.1派生类的声明204
10.2.2派生类的构成205
10.3派生类成员的访问特性207
10.3.1公有继承207
10.3.2私有继承208
10.3.3保护继承208
10.3.4多级派生时的访问特性209
10.4派生类的构造函式和析构函式212
10.4.1简单派生类的构造函式213
10.4.2有子对象的派生类的构造函式215
10.4.3派生类的析构函式216
10.5基类与派生类的转换218
10.5.1派生类对象的值可以赋给基类对象218
10.5.2派生类对象可以作为基类对象使用219
10.6类的继承与组合220
10.7继承在软体开发中的作用221
10.8多基类继承224
10.8.1定义多基类继承224
10.8.2多继承派生类的构造函式226
10.8.3基类成员名冲突227
10.8.4虚基类228
习题10232第11章运算符重载233
11.1运算符重载的实现233
11.2运算符重载规则237
11.3运算符重载函式238
11.4重载流插入和流提取运算符241
11.5数据的类型转换244
11.5.1用转换构造函式实现类型转换245
11.5.2用类型转换函式实现类型转换247
习题11250第12章多态与虚函式251
12.1多态性和绑定251
12.2虚函式254
12.2.1虚函式的定义254
12.2.2虚析构函式255
12.3纯虚函式与抽象类257
12.3.1纯虚函式257
12.3.2抽象类260
12.4动态绑定与虚函式表263
12.4.1多态类与非多态类263
12.4.2动态绑定的实现265
习题12267第13章模板268
13.1模板的引入268
13.2函式模板269
13.2.1函式模板的定义269
13.2.2函式模板的调用269
13.2.3函式模板的重载271
13.3类模板274
13.3.1类模板的定义和使用274
13.3.2类模板的继承275
13.4类模板套用275
13.4.1数组类模板275
13.4.2线性鍊表类模板278
习题13281第14章输入输出流和档案282
14.1输入输出与流282
14.2C++的流类和流对象283
14.3标準输入输出流283
14.3.1标準输出流284
14.3.2标準输入流285
14.3.3流成员函式287
14.4设定输入输出格式290
14.5档案处理294
14.5.1档案的打开和关闭294
14.5.2对ASCII码档案的读写296
14.5.3对二进制档案的读写298
习题14302
第15章异常处理303
15.1异常处理的基本思路303
15.2C++异常处理的实现306
15.2.1简单异常处理306
15.2.2类类型异常处理309
习题15311
第16章综合实例312
16.1用面向过程的方法设计人人对弈程式313
16.2用面向对象的方法设计人人对弈程式329
16.3扩展游戏程式343
习题16344
第17章集成开发环境345
17.1VisualStudio2010的安装与启动345
17.2VisualStudio2010的操作界面346
17.3创建和打开项目349
17.3.1创建项目349
17.3.2在解决方案中新建项目350
17.3.3在项目中添加项351
17.3.4打开项目355
17.3.5编辑源程式356
17.4生成和运行项目356
17.5调试程式357
习题17364附录AASCII码錶365
参考文献366