• Java程序设计题解与上机指导
21年品牌 40万+商家 超1.5亿件商品

Java程序设计题解与上机指导

正版保障 假一赔十 可开发票

41.78 8.5折 49 全新

库存3件

广东广州
认证卖家担保交易快速发货售后保障

作者辛运帏、饶一梅

出版社清华大学出版社

ISBN9787302478263

出版时间2017-09

装帧平装

开本16开

定价49元

货号25155689

上书时间2024-11-01

兴文书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

丛书序言

 

现代科学技术的飞速发展,改变了世界,也改变了人类的生活。作为新世纪的大学生,应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富的现代科学知识,能够独立完成面临的任务,充满活力,有创新意识的新型人才。

掌握计算机知识和应用,无疑是培养新型人才的一个重要环节。现在计算机技术已深入到人类生活的各个角落,与其他学科紧密结合,成为推动各学科飞速发展的有力的催化剂。无论学什么专业的学生,都必须具备计算机的基础知识和应用能力。计算机既是现代科学技术的结晶,又是大众化的工具。学习计算机知识,不仅能够掌握有关知识,而且能培养人们的信息素养。这是高等学校全面素质教育中极为重要的一部分。

高校计算机基础教育应当遵循的理念是:面向应用需要;采用多种模式;启发自主学习;重视实践训练;加强创新意识;树立团队精神,培养信息素养。

计算机应用人才队伍由两部分人组成:一部分是计算机专业出身的计算机专业人才,他们是计算机应用人才队伍中的骨干力量;另一部分是各行各业中应用计算机的人员。这后一部分人一般并非计算机专业毕业,他们人数众多,既熟悉自己所从事的专业,又掌握计算机的应用知识,善于用计算机作为工具解决本领域中的任务。他们是计算机应用人才队伍中的基本力量。事实上,大部分应用软件都是由非计算机专业出身的计算机应用人员研制的,他们具有的这个优势是其他人难以代替的。从这个事实可以看到在非计算机专业中深入进行计算机教育的必要性。

非计算机专业中的计算机教育,无论目的、内容、教学体系、教材、教学方法等各方面都与计算机专业有很大的不同,绝不能照搬计算机专业的模式和做法。全国高等院校计算机基础教育研究会自1984年成立以来,始终不渝地探索高校计算机基础教育的特点和规律。2004年,全国高等院校计算机基础教育研究会与清华大学出版社共同推出了《中国高等院校计算机基础教育课程体系2004》(简称CFC2004)。2006年、2008年又分别推出了《中国高等院校计算机基础教育课程体系2006》(简称CFC2006)及《中国高等院校计算机基础教育课程体系2008》(简称CFC2008),由清华大学出版社正式出版发行。

1988年起,我们根据教学实际的需要,组织编写了“计算机基础教育丛书”,邀请有丰富教学经验的专家、学者先后编写了多种教材,由清华大学出版社出版。丛书出版后,迅速受到广大高校师生的欢迎,对高等学校的计算机基础教育起了积极的推动作用。广大读者反映这套教材定位准确,内容丰富,通俗易懂,符合大学生的特点。

1999年,根据新世纪的需要,在原有基础上组织出版了“新世纪计算机基础教育丛书”。由于内容符合需要,质量较高,被许多高校选为教材。丛书总发行量1000多万册,这在国内是罕见的。近期,我们又对丛书作了进一步的修订,根据发展的需要,增加了新的书目和内容。本丛书有以下特点:

(1) 内容新颖。根据21世纪的需要,重新确定丛书的内容,以符合计算机科学技术的发展和教学改革的要求。本丛书除保留了原丛书中经过实践考验且深受群众欢迎的优秀教材外,还编写了许多新的教材。在这些教材中反映了近年来迅速得到推广应用的一些计算机新技术,以后还将根据发展不断补充新的内容。

(2) 适合不同学校组织教学的需要。本丛书采用模块形式,提供了各种课程的教材,内容覆盖了高校计算机基础教育的各个方面。丛书中既有理工类专业的教材,也有文科和经济类专业的教材;既有必修课的教材,也包括一些选修课的教材。各类学校都可以从中选择到合适的教材。

(3) 符合初学者的特点。本丛书针对初学者的特点,以应用为目的,以应用为出发点,强调实用性。本丛书的作者都是长期在线从事高校计算机基础教育的教师,对学生的基础、特点和认识规律有深入的研究,在教学实践中积累了丰富的经验。可以说,每一本教材都是他们长期教学经验的总结。在教材的写法上,既注意概念的严谨和清晰,又特别注意采用读者容易理解的方法阐明看似深奥难懂的问题,做到例题丰富,通俗易懂,便于自学。这一点是本丛书一个十分重要的特点。

(4) 采用多样化的形式。除了教材这一基本形式外,有些教材还配有习题解答和上机指导,并提供电子教案。

总之,本丛书的指导思想是内容新颖、概念清晰、实用性强、通俗易懂、教材配套,简单概括为“新颖、清晰、实用、通俗、配套”。我们经过多年实践形成的这一套行之有效的创作风格,相信会受到广大读者的欢迎。

本丛书多年来得到了各方面人士的指导、支持和帮助,尤其是得到了全国高等院校计算机基础教育研究会的各位专家和各高校老师们的支持和帮助,我们在此表示由衷的感谢。本丛书肯定有不足之处,希望得到广大读者的批评指正。

 

丛书 主  编

全国高等院校计算机基础教育研究会荣誉会长

谭浩 强

 

前言

 

Java语言自问世以来,经历了多次版本升级,从安全机制、语法成分到API函数都有较大的修改。《Java程序设计》自2001年9月由清华大学出版社出版至今,经过了多次修订,目前已经出版了第4版。为配合使用《Java程序设计(第四版)》,我们编写了本书,旨在帮助读者检查Java语言的学习效果,尽快掌握Java语言。

本书对《Java程序设计(第四版)》中13章的全部习题给出了完整的解答。对论述题给出了简单的答案,内容主要摘自《Java程序设计(第四版)》。对编程题给出了对题目的简单分析,论述了设计思路,并给出了相应的程序代码。这些代码均在Java 8.0环境下调试通过,程序运行结果以截图的方式提供给读者,供读者参考。在有些习题的后面,又给出了若干拓展思考题,可帮助读者进一步理解相关的习题。

在《Java程序设计(第四版)》中,增加了一章新内容,即第7章Java语言的高级特性。相应地,本书也增加了一章,对教材中第7章的习题给出了简单解答。在高级特性中介绍了泛型及迭代器,所以对第三版中的程序代码也增加了对泛型及迭代器的使用,对相关程序做了修改及调试。

此外,本书精选了9个实验题目,可供教师配合授课使用。每个实验均列出了实验的目的,以此作为检查的目标。实验后可要求学生完成实验报告,让学生更加深入地理解Java语言,确保学生掌握编程技巧。

众所周知,大部分习题的解答不具有性;特别是程序设计题目,给读者发挥潜能的余地非常大。本书中给出的这些解答和参考答案仅供参考,希望能起到抛砖引玉的作用。因为编者水平的局限性,书中的答案难免存在这样、那样的问题,实现的代码也不一定是的。读者可以参考本书中的内容和其他参考书中的内容,得出自己更全面的答案。至于程序代码,其实现的方式就更加多种多样,相信读者能在本书代码的基础之上,编写出功能更全面、效率更高的程序。

计算机技术是不断发展、不断完善的技术,Java语言也是如此。从诞生之日起,它的版本一直在更新中。就在本书编写过程及读者使用本书期间,相信Java又会有新的发展。读者应及时把握这些新动向,了解版本的相关信息,特别是及时更新自己机器上的JDK,以保持自己设计的代码与新版本同步。

本书是教学参考书,希望读者在使用、调试本书中代码的同时,既能加深对Java语言的理解,又能提高程序设计的能力,并在此过程中不断发现问题、思考问题、解决问题,把本书作为掌握知识的一个工具和桥梁。

本书由辛运帏、饶一梅编写,并运行通过了所有程序代码。

由于作者水平有限,对Java语言的掌握不够全面,书中难免有不妥之处,恳请广大读者特别是同行专家批评指正,在此我们表示深深的谢意。

 

编者

于南开园

 

第3版前言

 

Java语言自问世以来,经历了多次版本升级,新版本从安全机制、语法成分到API函数都有较大的修改。《Java程序设计》自2001年9月由清华大学出版社出版至今,也经过了多次修订,目前已经出版了第三版。为配合使用《Java程序设计(第三版)》,我们编写了这本《Java程序设计题解与上机指导(第三版)》,旨在帮助读者检查Java语言的学习效果,尽快掌握Java语言。

本书对《Java程序设计(第三版)》一书中12章的全部习题做了完整解答。对论述题给出了简单的答案,内容主要摘自《Java程序设计(第三版)》。对编程题目给出了题目的简单分析,论述了设计思路,并给出了相应的程序代码。这些代码均在Java 5.0环境下调试通过,程序运行结果以截图的方式提供给读者,供读者参考。在有些习题的后面,又给出了若干拓展思考题,可帮助读者进一步理解相关的知识。此外,本书精选了9个实验题目,可供教师配合授课使用。每个实验均列出了实验的目的,以此作为检查的依据。实验后可要求学生完成实验报告,让学生更加深入理解Java语言,确保学生掌握编程技巧。

众所周知,大部分的习题解答不具有性;特别是程序设计题目,给读者发挥潜能的余地非常大。本书中给出的这些解答和参考答案仅供参考,希望能起到抛砖引玉的作用。因为编者水平的局限性,书中的答案难免存在某些问题,实现的代码也不一定是的。读者可以参考本书中的内容和其他参考书中的内容,得出自己更全面的答案。至于程序代码,其实现的方式就更加多种多样,相信读者能在本书代码的基础之上,编写出功能更全面、效率更高的程序。

计算机技术是不断发展、不断完善的技术,Java语言也是如此。从诞生之日起,它的版本一直在更新中。就在本书编写过程及读者使用本书期间,相信Java语言又有了新的发展。读者应及时把握这些新动向,了解版本的相关信息,特别是及时更新自己机器上的JDK,以保持自己设计的代码与新版本同步。

本书是一本教学参考书,希望读者在使用、调试本书中代码的同时,既能加深对Java语言的理解,又能提高程序设计的能力,并在此过程中不断发现问题、思考问题、解决问题,把本书作为掌握知识的一个工具和桥梁。

本书由辛运帏、饶一梅编写,并运行通过了书中所有程序代码。

由于作者水平有限,对Java语言的掌握不够全面,书中难免有错误和不妥之处,恳请广大读者特别是同行专家批评指正,在此我们表示深深的谢意。

 

编者

于南开园



导语摘要
本书是和《Java程序设计(第四版)》(辛运帏、饶一梅编著,清华大学出版社出版)配套使用的参考书,由题解和上机指导两部分组成。本书对《Java程序设计(第四版)》中13章的全部习题给出了完整的解答。书中对论述题给出了简单的答案;对编程题给出了简单分析,论述了设计思路,并给出了相应的程序代码。这些代码均在Java 8.0环境下调试通过,程序运行结果以截图的方式提供给读者,供读者参考。在有些习题的后面,又给出了若干拓展思考题,可帮助读者进一步理解相关的习题。此外,本书精选了9个实验题目,供教师配合授课使用。通过学习《Java程序设计(第四版)》并配合本书的使用,能使读者更深入地了解Java语言,熟练掌握它,并能使用该语言编程完成特定的任务。本书概念清晰、实用性强,可供学习Java语言的读者参考使用。

作者简介
辛运帏,女,博士,教授。现为南开大学计算机与控制工程学院计算机与信息安全系教授。多年来一直从事程序语言设计、数据结构与算法等方向的教学和科研工作,主讲数据结构与算法、形式语言与自动机、计算方法等课程。主要研究领域为人工智能、电子商务、加密技术、智能信息系统等,已出版《Java语言程序设计》、《数据结构》、《离散数学》等相关教材。

目录

 


目录


 


第1部分题解


概述3标识符、关键字和数据类型19


表达式和流程控制语句46


数组和字符串73


对象和类的进一步介绍93


Java语言中的异常143


Java语言的高级特性150


Java的图形用户界面设计157


Swing组件174


Java Applet190


Java数据流205


线程243


Java的网络功能252


第2部分上
机 指 导


实验1熟悉系统及环境261


实验2简单的输入/输出处理263


实验3类的练习267


实验4模拟彩票开奖游戏273实验5模拟CD出租销售店281


实验6计算器300


实验7用户界面设计313


实验8多线程练习332


实验9文件读写练习338



内容摘要
本书是和《Java程序设计(第四版)》(辛运帏、饶一梅编著,清华大学出版社出版)配套使用的参考书,由题解和上机指导两部分组成。本书对《Java程序设计(第四版)》中13章的全部习题给出了完整的解答。书中对论述题给出了简单的答案;对编程题给出了简单分析,论述了设计思路,并给出了相应的程序代码。这些代码均在Java 8.0环境下调试通过,程序运行结果以截图的方式提供给读者,供读者参考。在有些习题的后面,又给出了若干拓展思考题,可帮助读者进一步理解相关的习题。此外,本书精选了9个实验题目,供教师配合授课使用。
通过学习《Java程序设计(第四版)》并配合本书的使用,能使读者更深入地了解Java语言,熟练掌握它,并能使用该语言编程完成特定的任务。
本书概念清晰、实用性强,可供学习Java语言的读者参考使用。

主编推荐
辛运帏,女,博士,教授。现为南开大学计算机与控制工程学院计算机与信息安全系教授。多年来一直从事程序语言设计、数据结构与算法等方向的教学和科研工作,主讲数据结构与算法、形式语言与自动机、计算方法等课程。主要研究领域为人工智能、电子商务、加密技术、智能信息系统等,已出版《Java语言程序设计》、《数据结构》、《离散数学》等相关教材。

精彩内容
第3章表达式和流程控制语句3.1Java中常用的运算符有哪些?它们的含义分别是什么?解: Java运算符按功能可分为: 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符;除此之外,还有几个特殊用途运算符,如数组下标运算符等。常用的运算符及其意义如表31所示。表31运算符及其意义类型运算符意义算术运算符 加法或字符串的连接-减法*乘法/除法,如果参加运算的两个操作数都是整数,则为整除运算,否则为浮点数除法%整数求余运算  加1运算--减1运算-求相反数关系运算符==等于!=不等于>大于<小于>=大于等于<=小于等于逻辑运算与位运算&&逻辑与||逻辑或!取反&按位与|按位或^按位异或~按位取反续表类型运算符意义逻辑运算与位运算>>右移>>>右移,并用0填充高位<<左移赋值运算符 =加法赋值-=减法赋值*=乘法赋值/=除法赋值%=取余赋值&=按位与赋值|=按位或赋值^=按位异或赋值<<=左移赋值>>=右移赋值>>>=右移赋值其他运算符\[\]数组下标.()方法调用?:三目条件运算instanceof对象运算3.2Java中操作符优先级是如何定义的?解: Java中,各操作符的运算优先顺序如表32所示。表32操作符的运算优先顺序优先级运算符运算结合律1\[\]数组下标.对象成员引用(参数)参数计算和方法调用  后缀加--后缀减自左至右2  前缀加--前缀减 一元加自右至左续表优先级运算符运算结合律2-一元减~位运算非!逻辑非自右至左3new对象实例(类型)转换自右至左4*乘法/除法%取余自左至右5 加法 字符串连接-减法自左至右6<<左移>>用符号位填充的右移>>>用0填充的右移自左至右7<小于<=小于等于>大于>=大于等于instanceof类型比较自左至右8==相等!=不等于自左至右9&位运算与&布尔与自左至右10^位运算异或^布尔异或自左至右11|位或|布尔或自左至右12&&逻辑与自左至右13||逻辑或自左至右14?:条件运算符自右至左续表优先级运算符运算结合律15=赋值 =加法赋值 =字符串连接赋值-=减法赋值*=乘法赋值/=除法赋值%=取余赋值<<=左移赋值>>=右移(符号位)赋值>>>=右移(0)赋值&=位与赋值&=布尔与赋值^=位异或赋值^=布尔异或赋值|=位或赋值|=布尔或赋值自右至左3.3>>>与>>有什么区别?试分析下列程序段的执行结果: int b1=1;int b2=1;
b1 <<= 31;b2 <<= 31;
b1 >>= 31;b1 >>= 1;
b2 >>>= 31;b2 >>>= 1;解: >>>与>>都是右移运算符,它们的不同之处在于使用不同位填充左侧的空白。>>运算使用符号位填充左侧的空位,而>>>使用零填充空位。也就是说,>>运算保持操作数的符号不变,而>>>运算则可能改变原数的符号。分析上面的程序段。初始时,b1和b2都是int型的变量,占32位,初值均为1,两个变量分别向左移动31位,则两个值变为: 10000000 00000000 00000000 00000000在计算机内部,这个值是: -2147483648。下一步,b1再向右移动31位,这里使用的是>>运算符。b1是一个负数,其位为1,右移时使用1填充左侧的空位。右移31位后b1的值为: 11111111 11111111 11111111 11111111在计算机内部,这个值是: -1。b1继续向右移动1位,此时值不变,仍为-1。实际上,此后使用>>运算符将b1向右移动任何位,它的值都不会再变了。使用>>>运算符则有所不同。>>>使用零填充左侧的空位,所以将b2向右移动31位后,它的值为: 00000000 00000000 00000000 00000001即b2的值为1。再向右移动1位,则它的值为: 00000000 00000000 00000000 00000000即b2的值为0。测试这些语句的程序如下所示: import java.util.;
public class Test{public static void main(String\[\] args){int b1=1;//b1赋初值int b2=1;//b2赋初值System.out.println("b1= " b1);System.out.println("b2= " b2);
b1 <<= 31;//b1左移31位b2 <<= 31;//b2左移31位System.out.println("b1= " b1);System.out.println("b2= " b2);
b1 >>= 31;//b1右移31位System.out.println("b1= " b1);b1 >>= 1;//b1再右移1位System.out.println("b1= " b1);
b2 >>>= 31;//b2右移31位System.out.println("b2= " b2);b2 >>>= 1;//b2再右移1位System.out.println("b2= " b2);}}相应的执行结果如图31所示。图31右移操作的执行结果【拓展思考】给出下面的说明,下列每个赋值语句会得到什么结果?int iResult, num1=25, num2=40, num3=17, num4=5;double fResult, val1=17.0, val2=12.78;a. iResult=num1/num4;b. fResult=num1/num4;c. iResult=num3/num4;d. fResult=num3/num4;e. fResult=val1/num4;f. fResult=val1/val2;g. iResult=num1/num2;h. fResult=(double) num1/num2;i. fResult=num1/(double) num2;j. fResult=(double) (num1/num2);k. iResult=(int) (val1/num4);l. fResult=(int) (val1/num4);m. fResult=(int) ((double) num1/num2);n. iResult=num3%num4;o. iResult=num2%num3;p. iResult=num3%num2;q. iResult=num2%num4;3.4设n为自然数,n!=1×2×3×…×n称为n的阶乘,并且规定0!=1。试编制程序计算2!,4!,6!,8!和10!,并将结果输出到屏幕上。解: 阶乘函数在数学上的定义为: n!=1(n=0)n(n-1)!(n>0)这是一个递归定义,因为阶乘本身又出现在阶乘的定义中。对于所有的递归定义,一定要有一个递归结束的出口,这既是定义的基本情况,也是程序执行递归结束的地方。本定义中的行即是递归出口。当一个函数使用递归定义的时候,往往直接使用递归方法实现它。

媒体评论
评论

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP