新書推薦:
《
写出心灵深处的故事:踏上疗愈之旅(修订版)(创意写作书系)
》
售價:NT$
301.0
《
控制权视角下的家族企业管理与传承
》
售價:NT$
398.0
《
冯友兰和青年谈心系列
》
售價:NT$
762.0
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:NT$
352.0
《
认知行为疗法:心理咨询的顶层设计
》
售價:NT$
454.0
《
FANUC工业机器人装调与维修
》
售價:NT$
454.0
《
吕著中国通史
》
售價:NT$
286.0
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
|
編輯推薦: |
本书重新编写了第1章,将Java最新的技术特性在这章中进行综述;为了便于后面内容讲解第2章中加入了枚举类型概述、空串与null串比较、常量命名规则、类常量概念等;第3章加入了switch语句使用枚举类型变量、for each循环、带标签的break语句等;第4章扩充了Arrays类方法介绍;第5章新增了释放对象时的操作、static工厂方法用法、模块的概念及模块的基本使用方法等;第7章新增了try…with…resources;第8章新增了Lambda表达式、Stream操作等;第9章新增了SimpleDateFormat的格式字符的示例、Optional 类,删除了介绍Observable和Observer对象的过时内容;第10章新增了InputStream的readAllBytes和readNBytes方法;第11章新增利用Callable接口实现线程;第12章新增URL的网络编程示例;第13章操作的数据库系统更改为MySQL,新增二进制大数据对象的存取等;第14章讲述用户界面开发。
(3)第3版对第2版原有内容进行了大量的调整和修正,语句更为清晰与简练,对课后习题进行一定的调
|
內容簡介: |
全书共14章,涵盖Java基础、类型、变量和表达式、流程控制、数组、类和对象、继承和接口、异常控制、泛型和集合、常用类的编程、基本I/O处理、多线程开发、网络编程、数据库访问、用户界面开发等内容。本书着力提升学生解决复杂软件工程问题的能力,将银行存取款业务经典案例精心组织,分解到各章,循序渐进地介绍了面向对象技术的概念、设计方法和开发步骤,既系统地讲述程序设计的基础,又适当地引入适合工程领域开发的主要应用技术,“以典型问题引路,面向问题求解”,将理论与技术培养相结合,加强思维方式和计算思维的训练,尤其突出案例和实践的应用。本书以项目驱动,每章都附有针对性的习题,引导学生继续完善银行案例。 本书可作为高等院校计算机类本科专业教材,缩减部分教学内容后也可作为高职高专的Java程序设计课程的教材。
|
目錄:
|
第1章Java概述1
1.1Java技术简介1
1.1.1Java发展历史1
1.1.2Java技术的构成2
1.1.3Java特性2
1.2JDK安装及配置3
1.2.1了解JDK3
1.2.2安装Java开发工具包5
1.2.3配置环境变量6
1.3创建一个Java应用程序10
1.3.1创建一个Java源文件10
1.3.2编译和运行12
1.3.3编写Java应用程序需要注意的几个规则13
1.3.4排除常见的错误13
1.4Java的工作原理14
1.4.1Java运行环境14
1.4.2Java应用程序执行过程15
1.4.3Java虚拟机17
1.4.4自动垃圾收集19
1.5程序注释19
1.6常用开发环境20
本章小结21
习题122第2章类型、变量和表达式23
2.1一个计算圆面积的程序23
2.2变量和常量24
2.2.1变量的种类24
2.2.2变量的命名25
2.2.3Java的基本数据类型26
2.2.4变量声明27
2.2.5转义字符30
2.2.6常量31
2.2.7枚举类型31
2.3运算符和表达式32
2.3.1运算符32
2.3.2算术表达式33
2.3.3关系和逻辑表达式35
2.3.4移位和位操作运算38
2.3.5赋值运算符40
2.3.6其他运算符41
2.3.7数学函数41
2.3.8字符运算42
2.3.9类型转换42
2.4字符串44
2.4.1字符串常量44
2.4.2字符串变量44
2.4.3字符串运算45
2.5基于文本的输入输出47
2.5.1控制台的输入47
2.5.2字符界面的输出49
本章小结51
习题253第3章流程控制54
3.1语句、语句块和空白54
3.1.1语句54
3.1.2语句块55
3.1.3空白56
3.2顺序结构56
3.3选择结构57
3.3.1if…else语句57
3.3.2switch语句61
3.4循环结构63
3.4.1for循环63
3.4.2while循环65
3.4.3do循环66
3.4.4跳转66
3.5嵌套的结构68
3.6变量的作用域69
3.7程序设计应用70
3.7.1求解素数70
3.7.2递归71
3.8程序调试和排错72
3.8.1利用assert语句调试程序72
3.8.2常见排错方法73
本章小结74
习题375第4章数组78
4.1数组的声明、初始化和访问78
4.1.1数组型变量的声明78
4.1.2为数组分配空间79
4.1.3初始化数组79
4.1.4数组元素的访问80
4.1.5使用增强型循环访问数组元素81
4.2命令行参数81
4.3多维数组82
4.4数组的操作84
4.5数组的应用85
4.5.1查找85
4.5.2排序88
本章小结89
习题490第5章类和对象92
5.1面向对象技术的基础92
5.2使用JDK的类93
5.3创建自己的类95
5.3.1类的结构95
5.3.2声明自定义类96
5.3.3为类添加成员变量98
5.3.4为类添加方法101
5.3.5方法重载106
5.3.6为类添加构造方法106
5.4对象108
5.4.1创建对象109
5.4.2访问对象110
5.4.3this111
5.4.4实例运算符的作用113
5.4.5对象特性及对象之间的关系113
5.5static116
5.5.1static代码块(类的初始化)116
5.5.2static成员变量(共享数据)117
5.5.3static方法(共享操作)118
5.5.4static加载119
5.5.5工厂方法119
5.6内部类120
5.6.1内部类的声明和应用120
5.6.2具有static修饰的内部类121
5.6.3局部内部类122
5.6.4匿名内部类122
5.7枚举123
5.8包125
5.9模块127
本章小结129
习题5130第6章继承和接口132
6.1类的层次结构132
6.2创建现有类的子类133
6.2.1继承133
6.2.2使用super访问超类的构造方法135
6.2.3覆盖和隐藏136
6.3Object类、抽象类、final类137
6.3.1Object类137
6.3.2抽象类140
6.3.3final类141
6.4接口142
6.4.1定义接口142
6.4.2实现接口143
6.4.3用接口定义变量144
6.5抽象类和接口145
6.6类型系统147
6.6.1动态和静态类型147
6.6.2多态性147
6.6.3类型转换148
本章小结149
习题6150第7章异常控制153
7.1异常153
7.1.1异常类型154
7.1.2Java程序中的常见异常155
7.2异常处理156
7.2.1异常处理的结构157
7.2.2捕获多种异常158
7.2.3异常与资源管理159
7.3自定义异常161
7.3.1定义一个受检异常161
7.3.2定义一个非受检异常161
7.4方法声明抛出异常162
7.4.1方法声明中的异常162
7.4.2运行时环境抛出异常163
7.4.3开发人员编码在程序中抛出异常163
7.4.4多异常抛出164
7.4.5覆盖继承自父类的方法时常见的异常问题165
7.5异常处理的基本规则165
7.5.1捕获及声明异常165
7.5.2finally和return的关系166
7.5.3需要注意的其他问题166
本章小结167
习题7168第8章泛型和集合170
8.1集合框架170
8.1.1集合类170
8.1.2集合的接口171
8.2List173
8.2.1List的主要方法173
8.2.2ListIterator174
8.2.3ArrayList175
8.2.4Vector177
8.3Queue178
8.3.1LinkedList179
8.3.2LinkedBlockingQueue181
8.4Set182
8.5Map184
8.6构建有序集合187
8.6.1利用Comparable接口实现有序列表187
8.6.2利用Comparator接口实现有序集合188
8.6.3其他排序集合189
8.7泛型190
8.7.1泛型在集合中的主要应用190
8.7.2声明泛型类191
8.7.3声明泛型接口192
8.7.4声明泛型方法193
8.7.5泛型参数的限定193
8.8Lambda表达式和Stream操作194
8.8.1Lambda表达式194
8.8.2Stream的操作195
本章小结200
习题8201第9章常用类的编程202
9.1Objects类202
9.2System类204
9.3String类与StringBuffer对象205
9.3.1String类205
9.3.2StringBuffer对象208
9.4日期处理209
9.4.1获得Date对象209
9.4.2创建一个Calendar对象210
9.4.3Date和Calendar的转换211
9.4.4修改日历属性211
9.4.5格式化输出及日期型字符串解析212
9.5正则表达式214
9.5.1一个例子214
9.5.2字符集214
9.5.3查找和替换218
9.5.4捕获分组219
9.6Optional类220
9.7数值的包装类223
9.8生成随机数224
9.9反射与代理225
9.9.1Class和反射225
9.9.2对象代理229
本章小结232
习题9233第10章基本I/O处理236
10.1流236
10.1.1什么是流236
10.1.2流的分类237
10.1.3输入流的基本方法238
10.1.4输出流的基本方法239
10.2字符流和字节流240
10.3结点流241
10.4流的处理链242
10.4.1过滤器流242
10.4.2转换流243
10.4.3数据输入和输出流244
10.4.4缓冲流245
10.4.5打印输出流246
10.4.6如何利用流编写程序246
10.5文件处理247
10.5.1File247
10.5.2Path与Files251
10.5.3顺序读写文件254
10.5.4随机读写文件256
10.6对象串行化259
10.6.1什么是串行化259
10.6.2可串行化的对象260
10.6.3对象的串行化存取260
10.6.4串行化的问题261
10.7I/O的异常处理263
本章小结264
习题10264第11章多线程开发266
11.1理解线程266
11.2创建线程267
11.2.1从Thread派生线程类267
11.2.2实现Runnable接口创建线程目标类268
11.2.3定义线程执行的任务268
11.2.4创建线程实例,执行任务269
11.2.5利用Callable接口实现线程269
11.3失控的线程271
11.4线程间的同步和互斥277
11.4.1互斥对象的访问277
11.4.2互斥方法的访问278
11.4.3线程间的同步279
11.4.4线程的死锁问题281
11.5线程的状态与转换281
11.6线程的管理285
11.6.1线程的优先级285
11.6.2线程的中断286
11.6.3守护线程和用户线程286
11.6.4线程组287
本章小结289
习题11291第12章网络编程293
12.1网络基础293
12.1.1网络基本概念293
12.1.2TCP和UDP294
12.2网络编程常用类295
12.3基于TCP的网络编程297
12.3.1基于Socket的客户服务器模型297
12.3.2创建服务器端Socket298
12.3.3创建客户端的Socket299
12.3.4创建一个多线程通信服务器301
12.3.5客户服务器通信的过程302
12.3.6Socket连接的关闭306
12.3.7Socket异常306
12.4对象的网络传输307
12.5基于UDP的网络编程310
12.5.1数据报310
12.5.2基于UDP的客户服务器通信过程312
12.5.3UDP组播通信313
12.6基于URL的网络编程315
12.6.1URL基础315
12.6.2资源访问技术315
本章小结317
习题12318第13章数据库访问319
13.1数据库编程基础319
13.1.1什么是JDBC319
13.1.2JDBC驱动程序类型320
13.1.3安装JDBC驱动程序321
13.2连接数据库321
13.3使用Statement访问数据库324
13.3.1获得Statement324
13.3.2使用Statement对象执行SQL语句326
13.3.3语句完成327
13.4ResultSet328
13.4.1行和光标329
13.4.2获取列的值329
13.4.3插入新行331
13.4.4更新列值332
13.4.5删除记录行332
13.4.6特殊字段类型的处理332
13.5PreparedStatement335
13.6CallableStatement336
13.7事务338
13.7.1事务处理338
13.7.2保存点340
13.8使用RowSet341
13.8.1RowSet的种类341
13.8.2使用JdbcRowSet访问数据库342
13.8.3使用CachedRowSet访问数据库343
13.9数据源和连接池347
本章小结348
习题13349第14章用户界面开发350
14.1简介350
14.1.1从AWT到Swing350
14.1.2创建第一个Swing窗口351
14.2容器和基本组件352
14.2.1Swing API352
14.2.2设计主窗口354
14.2.3添加组件到窗口355
14.2.4按钮JButton356
14.2.5标签JLabel356
14.2.6文本组件356
14.2.7选择性输入组件357
14.2.8列表JList359
14.2.9表格JTable361
14.2.10添加菜单到窗口366
14.3布局管理器367
14.3.1BorderLayout367
14.3.2FlowLayout368
14.3.3BoxLayout369
14.3.4GridLayout369
14.4用中间容器组织界面元素370
14.5事件机制372
14.5.1事件处理过程372
14.5.2主要事件类型373
14.5.3一个事件处理的实例375
14.6对话框377
14.6.1选项对话框377
14.6.2文件对话框378
14.6.3自定义对话框378
14.7图形编程基础380
本章小结382
习题14383
|
內容試閱:
|
本书第2版于2014年1月出版,至今已被几十所高校选作教学用书,多年以来广受好评,并被遴选为“十二五”普通高等教育本科国家级规划教材。
由于近年来Java推出了不少重要的新特性,例如Lambda表达式、模块化系统、Stream流操作、Optional类、try…with…resources、var局部变量类型推断等,因此此次改版将这些新的内容加入其中,全面反映Java技术最新的发展。
为了紧跟技术发展前沿,本书在编写中将Java的新特性分布于各个章节中。在听取教师和学生对前版教材的意见和建议后,在清晰性、内容组织、表达方式、程序清单和习题等方面进行了大量改进。具体如下。
(1) 本书重新编写了第1章,介绍Java最新的技术特性;为了便于后面内容的讲解,第2章加入了枚举类型概述、空串与null串比较、常量命名规则、类常量概念等内容;第3章加入了switch语句使用枚举类型变量、for each循环、带标签的break语句等内容;第4章扩充了Arrays类方法介绍;第5章新增了释放对象时的操作、static工厂方法用法、模块的概念及模块的基本使用方法等内容;第7章新增了try…with…resources;第8章新增了Lambda表达式、Stream操作等内容;第9章新增了SimpleDateFormat的格式字符的示例、Optional 类,删除了Observable和Observer对象等过时内容;第10章新增了InputStream的readAllBytes和readNBytes方法;第11章新增了利用Callable接口实现线程的内容;第12章新增了URL的网络编程示例;将第13章操作的数据库系统变为MySQL,新增了二进制大数据对象的存取等内容;第14章讲述用户界面开发。
(2) 此次改版对第2版内容进行了调整和修正,语句更为清晰简练,对课后习题也进行了调整。
本书由张墨华负责大纲审定和统稿。第1、2章由柳玉炯编写,第4、5章由李戈编写,第6章由冯新扬编写,第11~13章由张墨华编写,第7、8章由陈珂锐编写,第3、10章由米慧超编写,第9、14章由潘君、魏庆编写。
我们为选用此书的教师提供了课件、实验报告以及书中的源程序,这些资源既可以扫描下方二维码下载,也可以和我们直接联系,非常欢迎老师们的建议和批评。
学习资源
虽然Java已经是一种成熟且功能齐全的语言,但是其仍在快速发展中,一般情况下每7个月发布一次更新版本。作为教材,我们力求精益求精,给大家带来阅读、学习和实践的快乐,若书中出现疏漏、欠妥和谬误,敬请批评指正。
编者2023年5月15日
|
|