当前位置:文档之家› 《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]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

习题2参考答案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.面向对象程序设计中,什么是封装?答:OOP将处理过程与数据合并在一起处理。

2.面向对象程序设计中,什么是数据抽象化?答:OOP程序设计的重心为对象,因些对象被视为拥有本身数据与处理过程的组件,这些组件都有其独立性。

所以对象内、外程序的处理就有某种程度的限制,换句话说,对象外部并不明了对象内部数据如何传递、改变,如何处理过程。

这种隐藏对象内部的数据及处理过程的方式,使得对象抽象化,有人将这种处理方式称为数据抽象化。

类库就是Java API(Application ProgrammingInterface,应用程序接口),是系统提供的已实现的标准类的集合。

在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。

习题5参考答案1.简述数据类型类的常用方法。

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

包括:对象名.doubleValue();对象名.intValue();对象名.byteValue();对象名.shortValue();对象名.longValue();对象名.charValue();对象名.floatValue();对象名.booleanValue();2.何为命令行参数?答:所谓命令行参数,是指执行某个Java应用程序时,从命令行中向程序直接传送的参数。

我们可以获得这些参数的值,并运用到程序的执行过程中。

3.如何定义和创建一个数组?答:要创建一个数组,必须首先定义数组变量所需的类型。

通用的一维数组的声明格式是:type arrayName[];其中,type定义了数组的基本类型,arrayName是数组的名称。

基本类型决定了组成数组的每一个基本元素的数据类型。

4.如何声明一个二组数组?答:二维数组的一般声明格式如下:数组元素类型数组名[][];数组元素类型[][]数组名;5.列举一下数据类型类的常用方法。

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

包括:对象名、double V alue();对象名、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()该方法通常返回true,但是一些特殊的文件如设备驱动和命名管道可能与普通文件不同,所以该方法可以确定所访问实体是一个文件。

isAbsolute()如果文件是绝对路径该方法返回true,相对路径则返回false。

3.简单介绍一下Random Access File类。

答:RandomAceessFile类封装了一个随机访问文件。

它不是从输入输出流中获得。

相反,它实现了定义基础FO方法的Datalnput和DataOutput这两个接口。

它也支持定位请求,例如可以在文件中定位文件指针。

它包含下面两个构造函数:RandomAccessFile(File fObj,String acc)RandomAccessFile(String fname,String acc)在第一种形式下,fObj是指作为File对象打开的文件名称。

相关主题