新概念Java程序设计大学教程
新概念Java程序设计大学教程封面图

新概念Java程序设计大学教程

张基温, 编著

出版社:清华大学出版社

年代:2015

定价:35.0

书籍简介:

本书内容:第一阶段,通过实例引导,训练初学者面向对象的思维能力。第2阶段通过一个故事,介绍面向对象程序设计的基本原则,让学习者知道什么是好的面向对象的程序。第3阶段是基于API的程序开发,训练学习者如何充分利用系统资源,高效地开发java应用程序。

作者介绍:

张基温,知名学者,计算机教育家。先后担任名古屋大学访问学者,山西财经大学、江南大学、华东政法大学、华南农业大学珠江学院、常熟理工学院、福建工程学院、广西职业技术学院、晋城学院等多所大学的专职、客座或兼职教授,北京大学博雅方略城市发展与信息化研究中心研究员,南京大学出版社总编顾问,太原高新技术区IT研究院实验室主任,山西省紧缺人才专家委员会副主任,中国信息经济学会常务理事,全国高等院校计算机基础教育研究会常务理事兼课程建设委员会副主任,中国计算机学会教育专业委员会委员,国家NIT考试委员会委员,江苏省计算机基础教学指导委员会委员,山西省新世纪专家学者协会副会长。为清华大学出版社、电子工业出版社、中国水利水电出版社、南京大学出版社、中国铁道出版社等主编了信息管理与信息系统专业、计算机实验与实践、大学生信息素养等多个系列教材。研究和教学领域涉及计算机科学与技术、信息管理、信息经济学、电子政务与电子商务、服务科学,发表论文一百余篇,已出版著作90余种。在程序设计教学领域,从20世纪80年代初就尝试将软件工程方法和算法思想引入程序设计课程,20世纪90年代开始倡导“从语法体系向问题体系转变”、“程序设计与程序测试同步进行”、“重在逻辑思维和方法训练、语法够用就行”,并认为“不了解设计模式,就不会真正理解面向对象。”

书籍目录:

新概念Java程序设计大学教程(第2版)

目录第1篇面向对象程序设计启步第1单元职员类3

1.1从现实世界中的对象到类模型3

1.1.1程序=模型+表现3

1.1.2现实世界中的对象分析4

1.1.3职员类的UML描述5

1.1.4职员类的Java语言描述5

1.1.5职员类的Java代码说明6

1.2类的应用与测试8

1.2.1对象引用及其创建8

1.2.2构造器与this()9

1.2.3对象成员的访问与this11

1.2.4主方法与主类12

1.2.5类文件与包14

1.3Java程序开发16

1.3.1Java编译器与Java虚拟机16

1.3.2JDK16

1.3.3Eclipse开发环境18

1.4知识链接24

1.4.1Java语言及其特点24

1.4.2Java数据类型26

1.4.3字面值27

1.4.4基本类型的转换29

1.4.5Java关键词与标识符32

1.4.6流与标准I/O流对象33

1.4.7Java注释34

习题135第2单元计算器类38

2.1计算器类的定义38

2.1.1计算器建模38

2.1.2Calculator类的Java描述39

2.2Calculator类的测试39

2.2.1测试数据设计39

2.2.2规避整除风险——Calculator类改进之一40

2.3异常处理——Calculator类改进之二42

2.3.1Java异常处理概述42

2.3.2Java异常处理的基本形式42

2.3.3用throws向上层抛出异常44

2.3.4用throw直接抛出异常45

2.3.5Java提供的主要异常类47

2.4用选择结构确定计算类型——Calculator类改进之三47

2.4.1用if…else实现calculate()方法47

2.4.2关系操作符49

2.4.3用switch结构实现calculate()方法50

2.5用静态成员变量存储中间结果——Calculator类改进之四52

2.5.1静态成员变量的性质52

2.5.2带有静态成员变量的Calculator类定义52

2.6知识链接54

2.6.1Java表达式54

2.6.2静态方法——类方法55

2.6.3初始化块与静态初始化块57

2.6.4String类60

2.6.5正则表达式61

2.6.6Scanner类63

习题264第3单元素数序列产生器72

3.1问题描述与对象建模72

3.1.1素数序列产生器建模72

3.1.2getPrimeSequence()方法的基本思路72

3.2使用isPrime()判定素数的PrimeGenerator类的实现73

3.2.1采用while结构的getPrimeSequence()方法73

3.2.2采用do…while结构的getPrimeSequence()方法75

3.2.3采用for结构的getPrimeSequence()方法75

3.2.4重复结构中的continue语句76

3.2.5采用for结构的isPrime()方法76

3.2.6将isPrime()定义为静态方法77

3.2.7不用isPrime()判定素数的PrimeGenerator类的实现78

3.3知识链接79

3.3.1变量的访问属性79

3.3.2变量的作用域79

3.3.3Java数据实体的生命期80

3.3.4基本类型的包装81

习题383第4单元扑克游戏90

4.1数组与扑克牌的表示和存储90

4.1.1数组的概念90

4.1.2数组的声明与内存分配90

4.1.3数组的初始化92

4.1.4匿名数组93

4.2数组元素的访问93

4.2.1用普通循环结构访问数组元素94

4.2.2用增强for遍历数组元素94

4.3洗牌95

4.3.1随机数与Random类95

4.3.2洗牌方法设计96

4.3.3含有洗牌方法的扑克游戏类设计98

4.4扑克的发牌与二维数组99

4.4.1基本的发牌算法99

4.4.2用二维数组表示玩家手中的牌100

4.4.3使用二维数组的发牌方法102

4.4.4含有洗牌、发牌方法的扑克游戏类设计102

4.5知识链接104

4.5.1数组实用类Arrays104

4.5.2java.util.Vector类105

4.5.3命令行参数107

4.5.4Math类108

习题4109第2篇面向抽象的结构优化第5单元学生研究生115

5.1学生类研究生类层次结构115

5.1.1由Student类派生GradStudent类115

5.1.2super关键字 117

5.1.3final关键字119

5.2Java的访问权限控制119

5.2.1类成员的访问权限控制119

5.2.2类的访问权限控制120

5.2.3private构造器120

5.3类层次中的类型转换121

5.3.1类层次中的赋值兼容规则121

5.3.2里氏代换原则122

5.3.3类型转换与类型测试122

5.4方法覆盖与隐藏123

5.4.1派生类实例方法覆盖基类中原型相同的实例方法123

5.4.2用@Override标注覆盖124

5.4.3派生类静态方法隐藏基类中原型相同的静态方法126

5.4.4JVM的绑定机制127

5.5知识链接128

5.5.1Object类128

5.5.2@Deprecated与@SuppressWarnings131

5.5.3Java异常类和错误类体系135

习题5137第6单元抽象类与接口145

6.1圆、三角形和矩形145

6.1.13个独立的类: Circle、Rectangle和Triangle145

6.1.2枚举147

6.2抽象类148

6.2.1由具体类抽象出抽象类148

6.2.2由抽象类派生出实例类150

6.2.3抽象类小结153

6.3接口153

6.3.1接口及其特点153

6.3.2接口的实现类154

6.3.3关于接口的进一步讨论156

6.4知识链接157

6.4.1Java构件修饰符小结157

6.4.2对象克隆158

习题6160第7单元面向对象程序架构优化规则164

7.0引言164

7.1从可重用说起: 合成/聚合优先原则165

7.1.1继承重用的特点166

7.1.2合成/聚合重用及其特点166

7.1.3合成/聚合优先原则167

7.2从可维护性说起: 开闭原则168

7.2.1软件的可维护性和可扩展性168

7.2.2开闭原则169

7.3面向抽象编程170

7.3.1具体与抽象170

7.3.2依赖倒转原则170

7.3.3面向接口原则170

7.3.4面向接口编程举例171

7.4单一职责原则175

7.4.1对象的职责175

7.4.2单一职责原则的概念176

7.4.3接口隔离原则176

7.5不要和陌生人说话181

7.5.1狭义迪米特法则181

7.5.2广义迪米特法则182

习题7183

第8单元设计模式186

8.1设计模式概述186

8.2设计模式举例——诉讼代理问题186

8.2.1无律师的涉讼程序设计186

8.2.2请律师代理的涉讼程序设计187

8.2.3关于代理模式189

8.3设计模式举例——商场营销问题190

8.3.1不用策略模式的商场营销解决方案190

8.3.2策略模式的定义192

8.3.3采用策略模式的商场营销解决方案193

8.4设计模式举例——图形对象的创建问题197

8.4.1简单工厂模式197

8.4.2工厂方法模式202

8.4.3策略模式与简单工厂模式结合207

8.5知识链接209

8.5.1类文件与类加载209

8.5.2Class对象210

8.5.3反射API213

8.5.4使用反射的工厂模式215

8.5.5使用反射+配置文件的工厂模式216

习题8218第3篇基于API的应用开发第9单元图形用户界面开发223

9.1图形用户界面概述223

9.1.1组件与容器223

9.1.2布局管理器与坐标系225

9.1.3事件与事件监听器227

9.1.4AWT、Swing、SWT和JFace228

9.1.5Swing程序设计的一般流程229

9.2Swing组件229

9.2.1Swing工具包229

9.2.2Swing组件体系与分类230

9.2.3Swing容器232

9.2.4Swing布局管理器235

9.3事件处理239

9.3.1事件及其分类239

9.3.2事件监听接口240

9.3.3事件监听适配器243

9.4嵌套类及其在事件处理中的应用246

9.4.1嵌套类及其分类246

9.4.2实名内部类246

9.4.3匿名内部类248

习题9250第10单元Java 网络程序设计251

10.1IP地址与InetAddress类251

10.1.1IP协议与IP地址251

10.1.2InetAddress类251

10.2Java Socket概述253

10.2.1Socket的概念253

10.2.2客户端/服务器工作模式253

10.3面向TCP的Java Socket程序设计254

10.3.1Socket类和ServerSocket类254

10.3.2TCP Socket通信过程255

10.3.3TCP Socket程序设计257

10.4面向UDP的Java程序设计260

10.4.1DatagramPacket类261

10.4.2DatagramSocket类261

10.4.3UDP Socket程序设计263

10.5网络资源访问266

10.5.1URI、URL和URN266

10.5.2URL类267

10.5.3URLConnection类268

10.6知识链接268

10.6.1字节流与字符流268

10.6.2缓冲流与转换流273

10.6.3PrintWriter类275

习题10276第11单元JDBC278

11.1JDBC概述278

11.1.1JDBC的组成与工作过程278

11.1.2JDBC API及其对JDBC过程的支持278

11.2加载JDBC驱动280

11.2.1JDBC数据库驱动程序的类型280

11.2.2JDBC驱动类名与JDBC驱动下载282

11.2.3DriverManager类282

11.2.4注册Driver284

11.3连接数据源286

11.3.1数据源描述规则——JDBC URL286

11.3.2获取Connection对象287

11.3.3连接过程中的异常处理290

11.3.4Connection接口的常用方法290

11.4创建SQL工作空间进行数据库操作291

11.4.1SQL291

11.4.2创建SQL工作空间293

11.4.3用Statement实例封装SQL语句293

11.5处理结果集295

11.5.1结果集游标管理295

11.5.2getXxx()方法295

11.5.3updateXxx()方法296

11.5.4关闭数据库连接296

11.5.5JDBC数据库查询实例296

11.6PreparedStatement接口299

11.6.1用PreparedStatement实例封装SQL语句的特点299

11.6.2PreparedStatement接口的主要方法299

11.6.3PreparedStatement对象操作SQL语句的步骤300

11.6.4Java日期数据303

11.7事务处理304

11.7.1事务的概念304

11.7.2Connection类中有关事务处理的方法304

11.7.3JDBC事务处理程序的基本结构305

11.8DAO模式307

11.8.1DAO概述307

11.8.2DAO模式的基本结构309

11.8.3DAO程序举例312

习题11318第12单元JavaBean320

12.1JavaBean概述320

12.1.1软件组件与JavaBean320

12.1.2JavaBean结构321

12.1.3JavaBean规范323

12.2开发JavaBean323

12.2.1JavaBean API323

12.2.2JavaBean开发工具324

习题12326第13单元程序文档化、程序配置与程序发布328

13.1Javadoc328

13.1.1Javadoc及其结构328

13.1.2Javadoc标签328

13.1.3Javadoc应用规范330

13.1.4Javadoc命令332

13.2自定义Annotation333

13.2.1Annotation的基本定义格式333

13.2.2向Annotation注入数据334

13.2.3通过反射提取Annotation中的数据335

13.2.4用Annotation+反射设计DAO基类336

13.3Java程序配置342

13.3.1程序配置与程序配置文件342

13.3.2.properties文件343

13.3.3XML配置文件345

13.3.4基于InputStream输入流的配置文件的读取346

13.3.5基于资源绑定的配置文件读取353

13.4Java程序的打包与发布354

13.4.1Java程序的打包与JAR文件包354

13.4.2manifest文件354

13.4.3JAR命令357

13.4.4在Eclipse环境中创建可执行JAR包359

13.4.5在MyEclipse环境中创建可执行JAR包361

习题13361

第4篇Java高级技术第14单元Java泛型编程365

14.1泛型基础365

14.1.1问题的提出365

14.1.2泛型方法367

14.1.3多泛型类368

14.2泛型语法扩展369

14.2.1泛型通配符369

14.2.2泛型设限370

14.2.3泛型嵌套370

14.3实例——利用泛型和反射机制抽象DAO371

习题14373第15单元Java多线程375

15.1Java多线程概述375

15.1.1进程与线程375

15.1.2Java线程的生命周期376

15.1.3Java多线程程序实例: 室友叫醒380

15.1.4线程调度与线程优先级384

15.1.5知识链接: JVM运行时数据区384

15.2java.lang.Thread类386

15.2.1Thread类的构造器386

15.2.2Thread类中的优先级别静态常量387

15.2.3Thread类中影响线程状态的方法387

15.2.4Thread类中的一般方法388

15.2.5Thread类从Object继承的方法388

15.3多线程管理388

15.3.1多线程同步共享资源388

15.3.2线程死锁问题390

15.3.3线程组390

习题15391第16单元Java数据结构和接口397

16.1数据的逻辑结构与物理结构397

16.1.1数据的逻辑结构397

16.1.2数据的物理结构398

16.1.3Java数据结构API400

16.2接口及其应用401

16.2.1Collection接口及其方法401

16.2.2List接口及其实现402

16.2.3Set接口及其实现404

16.3聚集的标准输出406

16.3.1Iterator接口406

16.3.2foreach407

16.4Map接口类及其应用408

16.4.1Map接口的定义与方法408

16.4.2Map.Entry接口408

16.4.3HashMap类和TreeMap类409

习题16411附录413

附录A符号413

A.1Java主要操作符的优先级和结合性413

A.2Javadoc标签413

附录BJava运行时异常类和错误类414

B.1RuntimeException类414

B.2Error类415

附录CJava常用工具包416参考文献418

内容摘要:

本书结构新颖、概念清晰、面向应用,体现了作者提出的“程序设计=计算思维+语言艺术+工程方法”的教学思想。全书共分为4篇:第1篇为面向对象启步,用4个例子引导读者逐步建立面向对象的思维方式和培养基本的设计能力,将Java基本语法贯穿其中;第2篇为面向抽象的结构优化,在介绍了抽象类和接口这两个基本机制后,用一个故事引入了面向对象程序设计原则,接着用设计模式举例加深对面向对象结构优化必要性的认识,为进一步学习设计模式打下基础,最后介绍了反射技术;第3篇为基于API的开发,包括图形用户界面、网络编程、JDBC、JavaBean、程序文档化、程序配置和打包与发布;第4篇为Java高级技术,包括多线程技术、泛型编程和数据结构接口。通过这4篇可以达到夯实基础、面向应用、领略全貌的教学效果,并适应不同层次的教学需求。本书采用问题体系,具有零起点、快起动、立意新、重内涵的特点,可作为高等学校有关专业的程序设计课程的教材,也适合培训和自学。

编辑推荐:

本书结构新颖、概念清晰、面向应用,渗透了作者提出的“以思路训练为主线”的程序设计教育理念;书中例题丰富、习题题型多、覆盖面宽,为读者建立了一个全新概念的立体学习环境,并引导学生进行探索式学习。

书籍规格:

书籍详细信息
书名新概念Java程序设计大学教程站内查询相似图书
9787302400349
如需购买下载《新概念Java程序设计大学教程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次2版印次1
定价(元)35.0语种简体中文
尺寸26 × 19装帧平装
页数印数 2000

书籍信息归属:

新概念Java程序设计大学教程是清华大学出版社于2015.出版的中图分类号为 TP312 的主题关于 JAVA语言-程序设计-高等学校-教材 的书籍。