Java程序的设计课后复习题参考答案_第1页
Java程序的设计课后复习题参考答案_第2页
Java程序的设计课后复习题参考答案_第3页
Java程序的设计课后复习题参考答案_第4页
Java程序的设计课后复习题参考答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.专业.专注.Java高等院校计算机基础教育规划教材程序设计课后习题参考答案大学习题1参考答案1. Java语言的特点有哪些?答:参考1.1.2防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员部的一致性,就应该通过类本身的方法来处理。这种数据隐藏技术就是面向对象的重要特性一一封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面, 通过访问接口实现对数据的操作。 即使实现细节发生了改变,还可通过界面承担其功能而保 留

2、原样,确保调用它的代码还继续工作,这使代码维护更简单。2. 简述封装的优点。答:封装是一个简单而有效的思想,优点有:(1)模块化,对成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。 (2 )信息隐蔽,对外则是一个功能明确、接口单 一、可在各种适合的环境下都能独立工作的有机单元。面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和 安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。3. J

3、ava的基本工具有哪些?(1) javac编译器(2) java解释器(3) jdb Java 语言调试器(4) javadoc API文档管理器(5) javah头文件生成器(6) appletviewer小应用程序浏览器(7) javap类文件反汇编器4. Java开发环境是如何配置的?答:对于Windows 2000以上版本的操作系统, 可以打开控制面板窗口,双击其中的系 统图标,在系统特性窗口中单击高级选项卡,进而单击环境变量按钮。在出现的环 境变量窗口中,在系统变量框中选择Path项,单击编辑按钮,在弹出的编辑系统变 量窗口的变量值框后加上上面两条语句。习题2参考答案1. Java语

4、言包含哪些数据类型 ?答:包含基本数据类型和复合数据类型。基本类型包括整数类型、 浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type) 与数组类型(ArrayType)。2. Java有多少关键字?答:abstract,continue,for, new, switch , boolean, default, goto*, null,synchronized , break, do, if, package, this, byte, double, implements, private,threadsafe , byvalve*, els

5、e, import, protected, throw, case, extends, instanceof,public, tran sie nt , catch, false, int, retur n, true , char, fin al, in terface, short, try , class, fin ally, long, static, void, con st*, float, n ative, super, while3. byte、short、int、long和char整数类型各占了多少字节?答:byte占了 1字节,short占了 2字节,int占了 4字节,l

6、ong占了 8字节,char 占了 2字节。4. Java的控制结构有哪几类?答:流程控制语句可以分为选择、循环和跳转3大类。习题3参考答案1. 声明类的格式是什么?答:类修饰符class类名称extends父类名称implements接口名称类主体2. 面向对象程序设计中,什么是构造函数?答:类类型声明方法成员,如果方法名称与类名称一样,这种方法成员称为构造函数。习题4参考答案1. 面向对象程序设计中,什么是封装?答:OOP各处理过程与数据合并在一起处理。2. 面向对象程序设计中,什么是数据抽象化?答:OOF程序设计的重心为对象,因些对象被视为拥有本身数据与处理过程的组件,这 些组件都有其独

7、立性。所以对象、外程序的处理就有某种程度的限制,换句话说,对象外部并不明了对象部数据如何传递、改变,如何处理过程。这种隐藏对象部的数据及处理过程的方式,使得对象抽象化,有人将这种处理方式称为数据抽象化。类库就是Java API(Application Programminglnterface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、 绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易 懂。习题5参考答案1简述数据类型类的常用方法。答:对所有数据类型类的对象,形如对象名.xxxxVal

8、ue() ”的成员方法,用来获得对象中的基本类型数据。包括:对象名.doubleValue();对象名.intValue();对象名.byteValue();对象名.shortValue();对象名.longValue();对象名.charValue();对象名.floatValue();对象名.booleanValue();2. 何为命令行参数?答:所谓命令行参数,是指执行某个Java应用程序时,从命令行中向程序直接传送的参数。我们可以获得这些参数的值,并运用到程序的执行过程中。3. 如何定义和创建一个数组?答:要创建一个数组,必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:ty

9、pe arrayName ;其中,type定义了数组的基本类型, arrayName是数组的名称。 基本类型决定了组成数组的每一个基本元素的数据类型。4. 如何声明一个二组数组?答:二维数组的一般声明格式如下:数组元素类型 数组名;数组元素类型数组名;5列举一下数据类型类的常用方法。答:对所有数据类型类的对象,形如对象名、xxxxvalue () ”的成员方法,用来获得对象中的基本数据类型。包括:对象名、double Value ();对象名、int Value ();对象名、byte Value ();等。习题6参考答案1. 解释下列方法的意义:(3)charAt()(6)setLe ngt

10、h(),end, str)toLowerCase() (2)toUpperCase()(4)equalslg no reCase() (5)capacity()(7)reverse() (8)replace(start答:(1) 将字符转换成小写字符(2) 将字符转换成大写字符(3) 从0算起第index字符(4) 忽略大小写,比较两字符串是否,相等,若是返回true,否则返回false(5) 计算字符串缓冲器的容量(6) 设定字符串的长度(7) 将字符串反转排列(8) 返回字符串缓冲器从stare开始到end结束字符被str字符串取代2. capacity。 与length()的用法有什么不

11、同?答:capacity ()用来计算字符串缓冲器的容量,len gth ()用于计算字符串长度。如:String Buffer ko仁new String Buffer (20),贝U koi capacity () =20,但 koi,length ()可能是0或20,视koi字符串长度而定。习题7参考答案1. 什么叫流?流式输入输出有什么特点?答:Java中的流是对数据传递机制的抽象。流分为两种:输入和输出。Java中所有输入/输出操作都是使用基本字节类型完成的。字符是通过值为字节类型的特殊代码处理的。 Java程序的所有读写操作都是通过流实现的。流是一组字符序列。输入源可以是键盘、文

12、件或网络,输出自的地可以是屏幕、文件或网络。数据作为字节序列进行发送和接收。2. File类有哪些构造函数和常用方法?并举例说明。答:使用下面的构造函数创建 File对象:File(Stri ng dirpath)File(Stringdirpath, Stringnlename)File(FnedirObj, Stringfilename)这里,dirpath 是文件的路径名,file name 是文件名,dirObj是指定目录的 Fie对象。 下面的例子创建了3个文件:fl、f2和f3。第一个File对象只有目录路径一个参数。第二个有两个参数目录和文件名。第三个包括赋给n的文件路径和文件名

13、。f3和f2指的是同一个文件。最后一个包括指定文件autoexec . bat ”所在的目录名称。File f仁newFile(/);File f2=newFile(”/, autoexec . bat);File f3=newFile(f1,autoexec. bat);File f3=newFile(user,autoexec. bat);File类的方法下面是File类中一些重要的方法:getName()该方法用来获取指定文件的名称。getPath() /getAbsolutePath()这两个方法分别得到指定文件的相对路径和绝对路径。exists()该方法用来判断命名的文件是否存在于目

14、录当中。isFile() / isDirectory()这两个方法分别用来判断命名的文件是否是普通文件和目录。canRead() /canWrite()这两个方法分别用来判断指定文件是否可读写。lastModified()该方法返回文件最近一次被修改的时间。len gth()该方法返回文件的大小,以字节记。delete()该方法用来删除指定文件。ren ameTo()该方法用来对已知文件进行重命名。它将目的文件或者说重命名后的文件对象作为参 数。isFile()该方法通常返回true,但是一些特殊的文件如设备驱动和命名管道可能与普通文件不 同,所以该方法可以确定所访问实体是一个文件。isAbs

15、olute()如果文件是绝对路径该方法返回true,相对路径则返回false 。3.简单介绍一下 Random Access File 类。答:RandomAceessFile类封装了一个随机访问文件。它不是从输入输出流中获得。相 反,它实现了定义基础 F0方法的Datalnput和DataOutput这两个接口。它也支持定位请求, 例如可以在文件中定位文件指针。它包含下面两个构造函数:RandomAccessFile(File fObj, String acc)RandomAccessFile(String fname, String acc)在第一种形式下,fObj是指作为File对象打开

16、的文件名称。 在第二种形式下,以fname 作为参数传递文件名。在两种情况下,acc都决定了允许访问什么样的文件类型。如果是r ”,那么可以对文件进行读访问,如果是“rw”,则可以进行读写访问。seek()方法用来设置文件指针的当前位置。void seek(l ong n ewPos)这里,newpos是指以字节方式指定的新位置或者从文件头或文件尾开始的文件指针。 调用seek方法之后,将会在新的文件位置发生读或写的操作。4.举例实现写文件 FileOutputStream 类。写文件举例如下:/FileOutputSample.javaimport java.io.*;public clas

17、s FileOutputSample public static void main (String args ) Stri ng n ame=OutputFileExample.txt;FileOutputStream outputStrem; / 文件输出流对象 /缓冲数组,假设写入文件的长度不超过1024字节byte buffer= new byte 1024;try outputStream=new FileOutputStream (new File (n ame);try System.out.pri ntl n (” nln put file conten t (Tab+E nt

18、er to exit):);/循环读入字符,Tab+Enter键结束int b, i= 0; t) while (i 1024 & (char) (b=System.i n.read () != buffer i+ =(byte) b;outputStream.write (buffer);outputStream.close ();catch (IOExceptio n e) System.err.pri ntl n (I/ O Excepti on whe n writ ing or clos in g: +e.toStri ng ();catch (Exceptio n e) Syste

19、m.err.pri ntl n (e.toStri ng ();System.out.pri ntl n (The content has bee n saved to File + n ame);编译运行程序,程序会提示用户输入,用户输入“Tab+Enter ”后将退出向文件中输入容,然后用户输入的容将保存到文件OutputFileExample.txt 中。5. 数据流分哪两种?答:数据流分为数据输入流DataInputStream 和数据输出流DataOutputStream 。(1) 数据输入流 DataInputSrtream类 DataInputStream 继承自 FilterI

20、nputStream类,并实现了 DataInput 接口。其构造函数如下:public Data In putStream(I nputStream in);其构造函数以一个字节输入流in对象位参数,在创建Data In putStream 对象时,in是In putStream类的子类的一个对象。DataI nputStream类常用的构造方法包括:public final iht read(int b);public final int read(int b, int offset , int len) ;public final int readI nt();前两个方法主要是将输入流对

21、象中的数据读入到一个缓冲数组b中:而第三个方法是读取一个整型数据,与该方法类似的还有readChar()、readBoolean() 、readFloat()、readDouble()等,这些方法都是读入一个简单类型的数据,可以是Java中任何基本数据类型。(2) 数据输出流 DataOutputStream类 DataOutputStream 继承自 FilterOutputStream类,并实现了 DataOutput 接口,其构造函数为:public DataOutputStream (OutputStream out);类DataOutputStream 中常用的方法主要有:publi

22、c void flush ();public void write (int b);public void write (byte b, int offset, int len);public void writeByte (int v);public void writeBytes (Stri ng s);public void writeChar (int v);public void writeChars (Stri ng s);当然,写方法中还有写入其他任何一种简单数据类型的方法。习题8参考答案1 .叙述TextComponent组件的功能。答:TextComponent组件用于编辑文

23、本。2. TextComponent类包括哪两种子类?答:TextComponent类包括文本框(TextField) 和文本域(TextArea)两种子类。3. 编写一个程序,使用户能够使用鼠标在Applet中绘制一个矩形。按住鼠标左键,确定矩形左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏 中显示矩形面积。参考程序如下:import java.applet.Applet;import java.awt.*;import java.awt.eve nt.*;publicclassChp9_3_E exte ndsAppletimpleme ntsMouseList

24、e ner,MouseMotio nListe nerint x1,y1,x2,y2;public void in it()addMouseListe ner(this);addMouseMotio nListe ner(this);public void pain t(Graphics g)g.drawRect(x1,y1,x2,y2);int area=Math.abs(x2-x1)*Math.abs(y2-y1);showStatus(矩形面积:+area);/impleme ntati on of MouseListe nerpublic void mousePressed(Mouse

25、Eve nt e)x仁 e.getX();y1=e.getY();public void mouseClicked(MouseEve nt e)public void mouseE ntered(MouseEve nt e)public void mouseExited(MouseEve nt e)public void mouseReleased(MouseEve nt e)/impleme ntati on of MouseMoti onEventpublic void mouseDragged(MouseEve nt e)x2=e.getX();y2=e.getY();repai nt(

26、);public void mouseMoved(MouseEve nt e)习题9参考答案1. 简述Java Applet 的运行过程。答:Applet的运行过程:首先将编译好的字节码文件和编写好的HTML文件(其中包含字节码文件名)保存在Web服务器的合适路径下;当WW浏览器下载此 HTML文件并显示时,它会自动下载HTM冲指定的Java Applet字节码,然后调用置在浏览器中的Java解释器来解释执行下载到本机的字节码程序。2. 举例说明Applet中的参数传递。答:例如:import java . applet . *;import java . awt.* ;public class panun eter exte nds AppletString in put ;public void in it()in put=getParameter(Stri ng);public void pain t(Graphics g)g. drawString(input, 100, 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论