JAVA语言与面向对象程序设计课后习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。面向过程的编程语言:C,Pascal,Foratn。面向对象的编程语言:C++,Java,C#。2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。答:对象都具有状态和行为。对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。对象“班级”与对象“学生”是包含关系。对象“学生”与对象“大学生”是继承关系。5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么?答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“isa”的关系,“男人”与“人”之间可以说是继承关系。6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作?答:面向对象的软件开发过程可以大体划分为面向对象的分析(ObjectOrientedanalysis,OOA)、面向对象的设计(Objectorienteddesign,OOD)、面向对象的实现(Objectorientedprogramming,OOP)三个阶段。面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。7.面向对象的程序设计方法有哪些优点?答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。第2章Java概述1.简述Java编译和运行的基本方法。答:编译可以使用JDK中的工具javac.exe。例如:javacHelloWorldApp.java运行Java程序则可以使用JDK提供的解释器是java.exe。例如:javaHelloWorldApp2.下载并安装JDK软件包,3.尝试查看其中的JDK文档。答:Java编程的基本工具包是JDK(JavaDevelopmentKit)。JDK是Sun公司免费提供的开发、运行Java程序的基本软件,它可以在Windows及Unix两种平台下使用。常用的版本是JDK1.2.2,JDK1.3.0,JDK1.4等。可以从网站下载较新的版本,如JDK1.5(也称为JDK5.0)。JDK文档也可以从网上下载。3.编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出“WelcometoJavaWorld!”。答:见程序。publicclassEx2_3{publicstaticvoidmain(String[]args){System.out.println(Welcomtojavavorld);}}4.编写一个JavaApplet,使之能够在浏览器中显示“WelcometoJavaAppletWorld!”的字符串信息。答:见程序。importjava.awt.*;importjava.applet.*;publicclassEx2_4extendsApplet{//anappletpublicvoidpaint(Graphicsg){g.drawString(WelcometoJavaAppletWorld!,20,20);}}5.编写一个HTML文件,将上题中生成的Applet字节码嵌入其中,并用页面。答:与上一题同。6.编写一个程序,能够从键盘上接收两个数字,然后计算这两个数的积。答:见程序。importjava.io.*;publicclassEx2_6{publicstaticvoidmain(String[]args){Strings=;doublec=0;doubled=0;try{BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));System.out.print(请输入一个数:);s=in.readLine();c=Double.parseDouble(s);System.out.print(请输入另一个数:);s=in.readLine();d=Double.parseDouble(s);}catch(IOExceptione){}System.out.println(这两个数的积为:+(c*d));}}7.编写一个程序,从两个文本框中接收两个数字,然后计算这两个数的积。答:见程序。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassEx2_7extendsApplet{TextFieldin1=newTextField(10);TextFieldin2=newTextField(10);Buttonbtn=newButton(求两个数的积);Labelout=newLabel(用于显示结果的标签);publicvoidinit(){setLayout(newFlowLayout());add(in1);add(in2);add(btn);add(out);btn.addActionListener(newBtnActionAdapter());}classBtnActionAdapterimplementsActionListener{publicvoidactionPerformed(ActionEvente){Strings1=in1.getText();doubled1=Double.parseDouble(s1);Strings2=in2.getText();doubled2=Double.parseDouble(s2);doubleresult=d1*d2;out.setText(d1+X+d2+=+result);}}}8.常用的集成开发工具有哪些?各有什么特点?答:常用的集成开发工具包括:Borland公司出品的Jbuilder,Sun公司出品的JavaWorkshop,IBM公司的VisualAgeforJava,Oracle公司的JavaDevelop,等等。另外,Symantec公司的VisualCafé也是著名的Java开发工具。近来,Eclipse也是使用很广的集成开发工具。第3章数据运算、流控制、数组1.简述Java程序的构成。如何判断主类?下面的程序有几处错误?如何改正,这个程序的源代码应该保存成什么名字的文件?publicclassMyJavaClass{publicstaticvoidmain(){System.out.printIn(AmIwrong?);}System.out.printIn(程序结束。);}答:一个复杂的程序可由一个至多个Java源程序文件构成,每个文件中可以有多个类定义。一般的Java源程序文件由以下三部分组成:package语句;(0句—1句)import语句;(0句—多句)类定义(1个—多个类定义)这里所说的主类是指程序中含有main()方法的类。上面的示例程序中的错误主要在于拼写,如:点及分号应该用西文的;printIn中的大写字母I应改为小写字母l;另外,main()方法应该带参数,改为:publicstaticvoidmain(String[]argvs)importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassEx2_7extendsApplet{TextFieldin1=newTextField(10);TextFieldin2=newTextField(10);Buttonbtn=newButton(求两个数的积);Labelout=newLabel(用于显示结果的标签);publicvoidinit(){setLayout(newFlowLayout());add(in1);add(in2);add(btn);add(out);btn.addActionListener(newBtnActionAdapter());}classBtnActionAdapterimplementsActionListener{publicvoidactionPerformed(ActionEvente){Strings1=in1.getText();doubled1=Double.parseDouble(s1);Strings2=in2.getText();doubled2=Double.parseDouble(s2);doubleresult=d1*d2;out.setText(d1+X+d2+=+result);}}}2.Java有哪些基本数据类型?写出int型所能表达的最大、最小数据。答:Java中定义了4类/8种基本数据类型:(1)逻辑型——boolean(2)整数型——byte,short,int,long(3)浮点数型——float,double(4)字符型——char其中整型int占4个字节,其范围为-2147483648-2147483647。3.Java的字符采用何种编码方案?有何特点?写出五个常见的转义符。答:char(字符型)是用Unicode编码表达的字符,在内存中占两个字节。由于Java的字符类型采用了一种新的国际标准编码方案——Unicode编码,这样便于东方字符和西方字符处理,这样与其他语言相比,Java处理多语种的能力大大加强。常见的转义符,如:\'单引号字符\''双引号字符\\反斜杠字符\r回车\n换行4.Java对标识符命名有什么规定,下面这些标识符哪些是对的?哪些是错的?错在哪里?(1)MyGame(2)_isHers(3)2JavaProgram(4)Java-Visual-Machine(5)_$abc答:标识符可以由编程者自由指定,但是需要遵循—定的语法规定。标识符要满足如下的规定:(1)标识符可以由字母、数字和下划线(_)、美元符号($)组合而成。(2)标识符必须以字母、下划线或美元符号开头,不能以数字开头。在实际应用标识符时,应该使标识符能一定程度上反映它所表示的变量、常量、对象或类的意义,这样程序的可读性会更好。题中的标识符中的(3)不对,因为用数字开头了,(4)也不对,因为其中用了减号。5.什么是常量?什么是变量?

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功