×
新概念Java程序设计大学教程-(第3版)

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

1星价 ¥28.9 (4.9折)
2星价¥28.9 定价¥59.0

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787302490579
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:391
  • 出版时间:2018-03-01
  • 条形码:9787302490579 ; 978-7-302-49057-9

本书特色

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

内容简介

? 先入为主的面向对象思维训练? 设计模式贯穿全书? 内容详实有用,紧扣核心技术,贴近工程应用 ? 结构科学合理,讲解准确透彻,习题丰富全面? 起点低,境界高,适合不同层次教学

目录

目录 第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类64 习题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对象209 8.5.3反射API213 8.5.4使用反射的工厂模式215 8.5.5使用反射 配置文件的工厂模式216 习题8218 第3篇基于API的应用开发 第9单元Java 网络程序设计223 9.1IP地址与InetAddress类223 9.1.1IP协议与IP地址223 9.1.2InetAddress类223 9.2Java Socket概述225 9.2.1Socket的概念225 9.2.2客户端/服务器工作模式225 9.3面向TCP的Java Socket程序设计226 9.3.1Socket类和ServerSocket类226 9.3.2TCP Socket通信过程227 9.3.3TCP Socket程序设计229 9.4面向UDP的Java程序设计232 9.4.1DatagramPacket类233 9.4.2DatagramSocket类233 9.4.3UDP Socket程序设计235 9.5网络资源访问238 9.5.1URI、URL和URN238 9.5.2URL类239 9.5.3URLConnection类240 9.6知识链接240 9.6.1字节流与字符流240 9.6.2缓冲流与转换流245 9.6.3PrintWriter类247 习题9248 第10单元JDBC250 10.1JDBC概述250 10.1.1JDBC的组成与工作过程250 10.1.2JDBC API及其对JDBC过程的支持250 10.2加载JDBC驱动252 10.2.1JDBC数据库驱动程序的类型252 10.2.2JDBC驱动类名与JDBC驱动程序的下载254 10.2.3DriverManager类254 10.2.4注册Driver256 10.3连接数据源258 10.3.1数据源描述规则——JDBC URL258 10.3.2获取Connection对象259 10.3.3连接过程中的异常处理262 10.3.4Connection接口的常用方法262 10.4创建SQL工作空间进行数据库操作263 10.4.1SQL263 10.4.2创建SQL工作空间265 10.4.3用Statement实例封装SQL语句265 10.5处理结果集267 10.5.1结果集游标的管理267 10.5.2getXxx()方法267 10.5.3updateXxx()方法268 10.5.4关闭数据库连接268 10.5.5JDBC数据库查询实例268 10.6PreparedStatement接口271 10.6.1用PreparedStatement实例封装SQL语句的特点271 10.6.2PreparedStatement接口的主要方法271 10.6.3PreparedStatement对象操作SQL语句的步骤272 10.6.4Java日期数据275 10.7事务处理276 10.7.1事务的概念276 10.7.2Connection类中有关事务处理的方法276 10.7.3JDBC事务处理程序的基本结构277 10.8DAO模式279 10.8.1DAO概述279 10.8.2DAO模式的基本结构281 10.8.3DAO程序举例284 习题10290 第11单元JavaBean292 11.1JavaBean概述292 11.1.1软件组件与JavaBean292 11.1.2JavaBean结构293 11.1.3JavaBean规范295 11.2开发JavaBean295 11.2.1JavaBean API295 11.2.2JavaBean开发工具296 习题11298 第12单元程序文档化、程序配置与程序发布300 12.1Javadoc300 12.1.1Javadoc及其结构300 12.1.2Javadoc标签300 12.1.3Javadoc应用规范302 12.1.4Javadoc命令304 12.2自定义Annotation305 12.2.1Annotation的基本定义格式305 12.2.2向Annotation注入数据306 12.2.3通过反射提取Annotation中的数据307 12.2.4用Annotation 反射设计DAO基类308 12.3Java程序配置314 12.3.1程序配置与程序配置文件314 12.3.2.properties文件315 12.3.3XML配置文件317 12.3.4基于InputStream输入流的配置文件的读取318 12.3.5基于资源绑定的配置文件的读取325 12.4Java程序的打包与发布326 12.4.1Java程序的打包与JAR文件包326 12.4.2manifest文件326 12.4.3JAR命令329 12.4.4在Eclipse环境中创建可执行JAR包331 12.4.5在MyEclipse环境中创建可执行JAR包333 习题12333 第4篇Java高级技术 第13单元Java泛型编程337 13.1泛型基础337 13.1.1问题的提出337 13.1.2泛型方法339 13.1.3多泛型类340 13.2泛型语法扩展341 13.2.1泛型通配符341 13.2.2泛型设限342 13.2.3泛型嵌套342 13.3实例——利用泛型和反射机制抽象DAO343 习题13345 第14单元Java多线程347 14.1Java多线程概述347 14.1.1进程与线程347 14.1.2Java线程的生命周期348 14.1.3Java多线程程序实例: 室友叫醒352 14.1.4线程调度与线程优先级356 14.1.5知识链接: JVM运行时数据区356 14.2 java.lang.Thread类358 14.2.1Thread类的构造器358 14.2.2Thread类中的优先级别静态常量359 14.2.3Thread类中影响线程状态的方法359 14.2.4Thread类中的一般方法360 14.2.5Thread类从Object继承的方法360 14.3多线程管理360 14.3.1多线程同步共享资源360 14.3.2线程死锁问题362 14.3.3线程组362 习题14363 第15单元Java数据结构和接口369 15.1数据的逻辑结构与物理结构369 15.1.1数据的逻辑结构369 15.1.2数据的物理结构370 15.1.3Java数据结构API372 15.2接口及其应用373 15.2.1Collection接口及其方法373 15.2.2List接口及其实现374 15.2.3Set接口及其实现376 15.3聚集的标准输出378 15.3.1Iterator接口378 15.3.2foreach379 15.4Map接口类及其应用380 15.4.1Map接口的定义与方法380 15.4.2Map.Entry接口380 15.4.3HashMap类和TreeMap类381 习题15383 附录A符号385 A.1Java主要操作符的优先级和结合性385 A.2Javadoc标签385 附录BJava运行时异常类和错误类387 B.1RuntimeException类387 B.2Error类388 附录CJava常用的工具包390 参考文献391
展开全部

作者简介

张基温,研究和教学领域涉及计算机科学与技术、信息管理、信息经济学、电子政务与电子商务、新媒体、服务科学,发表论文百余篇,出版著作百余种;先后担任名古屋大学访问学者,山西财经大学、江南大学、华东政法大学、福建工程学院、晋城学院、广西职业技术学院等多所大学的专职、客座或兼职教授,北京大学博雅方略城市发展与信息化研究中心研究员,南京大学出版社总编顾问,太原高新技术区IT研究院实验室主任,山西省紧缺人才专家委员会副主任等职,中国信息经济学会常务理事,全国高等院校计算机基础教育研究会常务理事兼课程建设委员会副主任,中国计算机学会教育专业委员会委员,教育部NIT考试委员会委员,江苏省计算机基础教学指导委员会委员,山西省新世纪专家学者协会副会长;为清华大学出版社、电子工业出版社、中国水利水电出版社、南京大学出版社等出版社主编了信息管理与信息系统专业、计算机实验与实践、大学生信息素养等多个系列教材。在面向过程程序设计教学领域,从20世纪80年代初就开始进行有关研究和改革,尝试将软件工程方法和算法思想引入程序设计,倡导“程序设计=计算思维+语言艺术+工程规范”的程序设计教育理念,推行“以思维训练为核心,程序测试与程序设计并行”、“前期重在逻辑思维和方法训练、语法够用就行;后期进行语法细节补充”的程序设计课程教学方法。他主笔并与他人联合署名的《C语言程序设计教程》是国家级十一五规划教材,并于2007年被评为国家级精品教材。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航