《Java程序设计》课后习题参考答案

上传人:文*** 文档编号:33445287 上传时间:2021-10-17 格式:DOC 页数:9 大小:37KB
收藏 版权申诉 举报 下载
《Java程序设计》课后习题参考答案_第1页
第1页 / 共9页
《Java程序设计》课后习题参考答案_第2页
第2页 / 共9页
《Java程序设计》课后习题参考答案_第3页
第3页 / 共9页
资源描述:

《《Java程序设计》课后习题参考答案》由会员分享,可在线阅读,更多相关《《Java程序设计》课后习题参考答案(9页珍藏版)》请在装配图网上搜索。

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

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

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

4、案1Java语言包含哪些数据类型?答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。2Java有多少关键字?答: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, transient,catch, false, int, return, true,char, final, interface, short, try,class, finally, long, static, void,const*, float, native, super, while3byte、short、int、long和char整数类型各占了多少字节?答:byte占了1字节,short占了2字节,int占了4字节,long占了8字节,char占了2字节。4

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

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

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

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

10、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字符串取代2capacity()与length()的用法有什么不同?答: capacity()用来计算字符串缓冲器的容量,length()用于计算字符串长度。如:String

11、Buffer ko1=new String Buffer(20),则ko1 capacity()=20,但ko1,length()可能是0或20,视ko1字符串长度而定。习题7参考答案1.什么叫流?流式输入输出有什么特点?答:Java中的流是对数据传递机制的抽象。流分为两种:输入和输出。Java中所有输入输出操作都是使用基本字节类型完成的。字符是通过值为字节类型的特殊代码处理的。Java程序的所有读写操作都是通过流实现的。流是一组字符序列。输入源可以是键盘、文件或网络,输出自的地可以是屏幕、文件或网络。数据作为字节序列进行发送和接收。2.File类有哪些构造函数和常用方法?并举例说明。答:使用

12、下面的构造函数创建File对象:File(String dirpath)File(Stringdirpath,Stringnlename)File(FnedirObj,Stringfilename)这里,dirpath是文件的路径名,filename是文件名,dirObj是指定目录的Fie对象。下面的例子创建了3个文件:f1、f2和f3。第一个File对象只有目录路径一个参数。第二个有两个参数目录和文件名。第三个包括赋给n的文件路径和文件名。f3和f2指的是同一个文件。最后一个包括指定文件“autoexecbat”所在的目录名称。File f1=newFile();File f2=newFil

13、e(,autoexecbat);File f3=newFile(f1,autoexecbat);File f3=newFile(user,autoexecbat);File类的方法下面是File类中一些重要的方法:getName()该方法用来获取指定文件的名称。getPath()getAbsolutePath()这两个方法分别得到指定文件的相对路径和绝对路径。exists()该方法用来判断命名的文件是否存在于目录当中。isFile()isDirectory()这两个方法分别用来判断命名的文件是否是普通文件和目录。canRead()canWrite()这两个方法分别用来判断指定文件是否可读写。l

14、astModified()该方法返回文件最近一次被修改的时间。length()该方法返回文件的大小,以字节记。delete()该方法用来删除指定文件。renameTo()该方法用来对已知文件进行重命名。它将目的文件或者说重命名后的文件对象作为参数。isFile()该方法通常返回true,但是一些特殊的文件如设备驱动和命名管道可能与普通文件不同,所以该方法可以确定所访问实体是一个文件。isAbsolute()如果文件是绝对路径该方法返回true,相对路径则返回false。3.简单介绍一下Random Access File类。答:RandomAceessFile类封装了一个随机访问文件。它不是从

15、输入输出流中获得。相反,它实现了定义基础FO方法的Datalnput和DataOutput这两个接口。它也支持定位请求,例如可以在文件中定位文件指针。它包含下面两个构造函数:RandomAccessFile(File fObj,String acc)RandomAccessFile(String fname,String acc)在第一种形式下,fObj是指作为File对象打开的文件名称。在第二种形式下,以fname作为参数传递文件名。在两种情况下,acc都决定了允许访问什么样的文件类型。如果是“r”,那么可以对文件进行读访问,如果是“rw”,则可以进行读写访问。seek()方法用来设置文件指

16、针的当前位置。void seek(long newPos)这里,newpos是指以字节方式指定的新位置或者从文件头或文件尾开始的文件指针。调用seek方法之后,将会在新的文件位置发生读或写的操作。4.举例实现写文件FileOutputStream类。写文件举例如下:/FileOutputSample.javaimport java.io.*;public class FileOutputSample public static void main (String args) String name=OutputFileExample.txt;FileOutputStream outputStr

17、em; /文件输出流对象/缓冲数组,假设写入文件的长度不超过1024字节byte buffer=new byte1024;try outputStream=new FileOutputStream (new File (name) ;try System.out.println (nInput file content (Tab+Enter to exit) : );/循环读入字符,Tab+Enter键结束int b, i= 0;while (i 1024 & (char) (b=System.in.read () != t) bufferi+=(byte) b;outputStream.wr

18、ite (buffer) ;outputStream.close () ;catch (IOException e) System.err.println (IO Exception when writing or closing: +e.toString () ;catch (Exception e) System.err.println (e.toString () ;System.out.println (The content has been saved to File + name) ;编译运行程序,程序会提示用户输入,用户输入“Tab+Enter”后将退出向文件中输入内容,然后用

19、户输入的内容将保存到文件OutputFileExample.txt中。5.数据流分哪两种?答:数据流分为数据输入流DataInputStream和数据输出流DataOutputStream。(1)数据输入流DataInputSrtream类DataInputStream 继承自FilterInputStream类,并实现了DataInput接口。其构造函数如下:public DatalnputStream(InputStream in);其构造函数以一个字节输入流in对象位参数,在创建DatalnputStream对象时,in是InputStream类的子类的一个对象。DataInputStr

20、eam类常用的构造方法包括:public final iht read(intb);public final int read(intb,int offset,int len);public final int readInt();前两个方法主要是将输入流对象中的数据读入到一个缓冲数组b中:而第三个方法是读取一个整型数据,与该方法类似的还有readChar()、readBoolean()、readFloat()、readDouble()等,这些方法都是读入一个简单类型的数据,可以是Java中任何基本数据类型。(2)数据输出流DataOutputStream类DataOutputStream继承

21、自FilterOutputStream类,并实现了DataOutput接口,其构造函数为: public DataOutputStream (OutputStream out) ;类DataOutputStream中常用的方法主要有:public void flush () ;public void write (int b) ;public void write (byte b, int offset, int len) ;public void writeByte (int v) ;public void writeBytes (String s) ;public void writeCh

22、ar (int v) ;public void writeChars (String s) ;当然,写方法中还有写入其他任何一种简单数据类型的方法。习题8参考答案1叙述TextComponent组件的功能。答:TextComponent组件用于编辑文本。2TextComponent类包括哪两种子类?答:TextComponent类包括文本框(TextField)和文本域(TextArea)两种子类。3.编写一个程序,使用户能够使用鼠标在Applet中绘制一个矩形。按住鼠标左键,确定矩形左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏中显示矩形面积。参考程序如下:imp

23、ort java.applet.Applet;import java.awt.*;import java.awt.event.*;public class Chp9_3_E extends Applet implements MouseListener,MouseMotionListenerint x1,y1,x2,y2;public void init()addMouseListener(this);addMouseMotionListener(this);public void paint(Graphics g)g.drawRect(x1,y1,x2,y2);int area=Math.a

24、bs(x2-x1)*Math.abs(y2-y1);showStatus(矩形面积: +area);/implementation of MouseListenerpublic void mousePressed(MouseEvent e)x1=e.getX();y1=e.getY();public void mouseClicked(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mouseReleased(MouseEvent e)/imp

25、lementation of MouseMotionEventpublic void mouseDragged(MouseEvent e)x2=e.getX();y2=e.getY();repaint();public void mouseMoved(MouseEvent e)习题9参考答案1.简述Java Applet的运行过程。答:Applet的运行过程:首先将编译好的字节码文件和编写好的HTML文件(其中包含字节码文件名)保存在Web服务器的合适路径下;当WWW浏览器下载此HTML文件并显示时,它会自动下载HTML中指定的Java Applet字节码,然后调用内置在浏览器中的Java解释

26、器来解释执行下载到本机的字节码程序。2.举例说明Applet中的参数传递。答:例如:import javaapplet*;import javaawt.*;public class panuneter extends AppletString input;public void init()input=getParameter(String);public void paint(Graphics g)gdrawString(input,100,100);可以使用下面的代码给Applet传递一个参数。这里通过VALUE属性传递了String类型的输入。NAME指出在Java代码中的参数名。现在用

27、AppletViewer运行这个程序得到带有文本输出的Applet窗口。这些文本通过VALUE属性传递给Applet。如果我们要改变参数值我们可以改变HTML文件自身中的VALUE属性的值并通过但单独运行该HTML文件获得输出。无需再重新编译程序。这是参数传递的主要优点。3.编写一个Apple程序,用来显示与Applet程序同一个文件夹下的图片。参考程序如下:import javawt.*;import javapplet.Applet;public class ImageApplet extends Applet Image image;public void init()image = g

28、etImage(getCodeBase(),flower.jpg);public void paint(Graphics g)setBackground(Color.lightGray); g.drawString(The following is a image,40,20);g.drawImage(image,20,30,150,100,this);习题10参考答案1异常处理可分成哪两种?答:异常处理可分成运行时的异常处理(RuntimeException)及检查异常处理(CheckedExceptions)两种。2下列哪一个是运行时的异常处理?哪一个是检查异常处理?ArithmeticException、InterruptedException、ClassNotFoundException、ClassCastException。答:(1)运行时的异常处理ArithmeticException、ClassCastException。(2)检查异常处理IntermptedException、ClassNotFoundException。9 / 9

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!