java程序设计教程第二版课后答案

  • 格式:docx
  • 大小:17.50 KB
  • 文档页数:16

java程序设计教程第二版课后答案

【篇一:《java程序设计》课后习题参考答案】

参考答案

――武汉大学出版社

习题1参考答案

1.java语言的特点有哪些??

答:参考1.1.2

防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。

这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。

2.简述封装的优点。?

答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。

面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。

3.java的基本工具有哪些??

(1) javac 编译器

(2) java 解释器

(3) jdb java 语言调试器

(4) javadoc api文档管理器

(5) javah 头文件生成器

(6) appletviewer 小应用程序浏览器 (7) javap 类文件反汇编器

4.java开发环境是如何配置的?

答:对于windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

1.java语言包含哪些数据类型??

答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(class type)、接口类型(interface type)与数组类型(array type)。

2.java有多少关键字??

答:abstract, continue, for, new, switch,boolean, default,

goto*, null, synchronized,break, do, if, package, this,byte,

double, implements, private, threadsafe,byvalve*, else, import,

protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final, interface, short, try,class, finally, long, static, void,const*, float, native, super,

while

3.byte、short、int、long和char整数类型各占了多少字节??

答:byte占了1字节,short占了2字节,int占了4字节,long占了8字节,char占了2字节。

4.java的控制结构有哪几类??

答:流程控制语句可以分为选择、循环和跳转3大类。

习题3参考答案?

1.声明类的格式是什么??

答:

[类修饰符]class类名称[extends父类名称][implements接口名称]

{

类主体

}

2.面向对象程序设计中,什么是构造函数??

答:类类型声明方法成员,如果方法名称与类名称一样,这种方法成员称为构造函数。

习题4参考答案? 1.面向对象程序设计中,什么是封装??

2.面向对象程序设计中,什么是数据抽象化??

答:oop程序设计的重心为对象,因些对象被视为拥有本身数据与处理过程的组件,这些组件都有其独立性。所以对象内、外程序的处理就有某种程度的限制,换句话说,对象外部并不明了对象内部数据如何传递、改变,如何处理过程。这种隐藏对象内部的数据及处理过程的方式,使得对象抽象化,有人将这种处理方式称为数据抽象化。类库就是java api(application programminginterface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。

1.简述数据类型类的常用方法。?

答:对所有数据类型类的对象,形如“对象名.xxxxvalue()”的成员方法,用来获得对象中的基本类型数据。包括:

对象名.doublevalue();

对象名.intvalue();

对象名.bytevalue();

对象名.shortvalue();

对象名.longvalue();

对象名.charvalue();

对象名.floatvalue();

对象名.booleanvalue();

2.何为命令行参数??

答:所谓命令行参数,是指执行某个java应用程序时,从命令行中向程序直接传送的参数。我们可以获得这些参数的值,并运用到程序的执行过程中。

3.如何定义和创建一个数组??

答:要创建一个数组,必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:type arrayname[];其中,type定义了数组的基本类型,arrayname是数组的名称。基本类型决定了组成数组的每一个基本元素的数据类型。

4.如何声明一个二组数组??

答:二维数组的一般声明格式如下:

数组元素类型 数组名[][]; 数组元素类型 [][]数组名;

5.列举一下数据类型类的常用方法。?

答:对所有数据类型类的对象,形如“对象名、xxxxvalue()”的成员方法,用来获得对象中的基本数据类型。包括:对象名、double value();对象名、int value();对象名、byte value();等。

习题6参考答案?

1.解释下列方法的意义:?

(1)tolowercase()(2)touppercase() (3)charat()?

(4)equalsignorecase() (5)capacity() (6)setlength()?

(7)reverse() (8)replace(start,end,str)?

答:

(1)将字符转换成小写字符

(2)将字符转换成大写字符

(3)从0算起第index字符

(4)忽略大小写,比较两字符串是否,相等,若是返回true,否则返回false

(5)计算字符串缓冲器的容量

(6)设定字符串的长度

(7)将字符串反转排列

(8)返回字符串缓冲器从stare开始到end结束字符被str字符串取代

2.capacity()与length()的用法有什么不同??

答: capacity()用来计算字符串缓冲器的容量,length()用于计算字符串长度。如:string buffer ko1=new string buffer(20),则ko1 capacity()=20,但ko1,length()可能是0或20,视ko1字符串长度而定。

习题7参考答案?

1.什么叫流?流式输入输出有什么特点??

答:java中的流是对数据传递机制的抽象。流分为两种:输入和输出。java中所有输入/输出操作都是使用基本字节类型完成的。字符是通过值为字节类型的特殊代码处理的。java程序的所有读写操作都是通过流实现的。流是一组字符序列。输入源可以是键盘、文件或网络,输出自的地可以是屏幕、文件或网络。数据作为字节序列进行发送和接收。

2.file类有哪些构造函数和常用方法?并举例说明。? 答:使用下面的构造函数创建file对象:

?file(string dirpath)

?file(stringdirpath,stringnlename)

?file(fnedirobj,stringfilename)

这里,dirpath是文件的路径名,filename是文件名,dirobj是指定目录的fie对象。 下面的例子创建了3个文件:f1、f2和f3。第一个file对象只有目录路径一个参数。第二个有两个参数——目录和文件名。第三个包括赋给n的文件路径和文件名。f3和f2指的是同一个文件。最后一个包括指定文件“autoexec.bat”所在的目录名称。

file f1=newfile(/);

file f2=newfile(/,autoexec.bat);

file f3=newfile(f1,autoexec.bat);

file f3=newfile(user,autoexec.bat);

file类的方法

下面是file类中一些重要的方法:

?getname()

该方法用来获取指定文件的名称。

?getpath()/getabsolutepath()

这两个方法分别得到指定文件的相对路径和绝对路径。

?exists()

该方法用来判断命名的文件是否存在于目录当中。

?isfile()/isdirectory()

这两个方法分别用来判断命名的文件是否是普通文件和目录。

?canread()/canwrite()

这两个方法分别用来判断指定文件是否可读写。

?lastmodified()

该方法返回文件最近一次被修改的时间。

?length()

该方法返回文件的大小,以字节记。

?delete()

该方法用来删除指定文件。

?renameto()

该方法用来对已知文件进行重命名。它将目的文件或者说重命名后的文件对象作为参数。

?isfile()