您好,欢迎来到爱学范文!

当前位置:爱学范文网>>实用资料>>JAVA语言与面向对象程序设计课后习题答案

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

标签:时间:

【综合文库】

第1章面向对象软件开发概述

1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。

答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以―对象‖为主体,―对象‖是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。

面向过程的编程语言:C,Pascal, Foratn。 面向对象的编程语言:C++, Java,C#。

2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。

答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如―电视机‖,那么对象就是某一个具体的电视机,如―我家那台电视机‖。

3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象―学生‖,试为这个对象设计状态与行为。

答:对象都具有状态和行为。

对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。

行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。

学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;

学生的行为:自我介绍、入学注册、选课、参加比赛等。

4.对象间有哪三种关系?对象―班级‖与对象―学生‖是什么关系?对象―学生‖与对象―大学生‖是什么关系?

答:对象间可能存在的关系有三种:包含、继承和关联。 对象―班级‖与对象―学生‖是包含关系。 对象―学生‖与对象―大学生‖是继承关系。

5.有人说―父母‖和―子女‖之间是继承的关系。这种说法是否正确?为什么?

答:―父母‖和―子女‖之间不是面向对象意义上的―继承‖关系。因为这里的继承关系是―is a‖的关系,―男人‖与―人‖之间可以说是继承关系。

6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作?

答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。

面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。

面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。

7.面向对象的程序设计方法有哪些优点?

答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,

使得上述―分析—设计—实现‖的开发过程也更加高效、快捷。

第2章 Java概述

1. 简述Java编译和运行的基本方法。

答:编译可以使用JDK中的工具javac.exe。例如:

javacHelloWorldApp.java

运行Java程序则可以使用JDK提供的解释器是java.exe。例如:

javaHelloWorldApp

2. 下载并安装JDK软件包,3. 尝试查看其中的JDK文档。 答: Java编程的基本工具包是JDK(Java Development Kit)。JDK是Sun公司免费提供的开发、运行Java程序的基本软件,它可以在Windows及Unix两种平台下使用。常用的版本是JDK1.2.2, JDK1.3.0,JDK1.4等。可以从http://java.sun.com网站下载较新的版本,如JDK1.5(也称为JDK5.0)。

JDK文档也可以从网上下载。

3.编写一个Java Application,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出―Welcome to Java World!‖。

答:见程序。 public class Ex2_3 {public static void main(String[] args){ System.out.println(\ } } 4.编写一个Java Applet,使之能够在浏览器中显示―Welcome to Java AppletWorld!‖的字符串信息。

答:见程序。import java.awt.*; import java.applet.*;

public class Ex2_4 extends Applet { //an appletpublic void paint(Graphics g){ g.drawString (\ World!\ } }

5.编写一个HTML文件,将上题中生成的Applet字节码嵌入其中,并用WWW浏览器观看这个HTML文件规定的Web页面。

答:与上一题同。

6.编写一个程序,能够从键盘上接收两个数字,然后计算这两个数的积。 答:见程序。import java.io.*; public class Ex2_6{public static void main(String[] args) { String s = \double c = 0; double d = 0; try{BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) );System.out.print(\请输入一个数: \ s = in.readLine();

c = Double.parseDouble( s );System.out.print(\请输入另一个数: \ s = in.readLine();d = Double.parseDouble( s ); }catch(IOException e){} System.out.println(\这两个数的积为: \ } }

7.编写一个程序,从两个文本框中接收两个数字,然后计算这两个数的积。 答:见程序。import java.applet.*; import java.awt.*;

import java.awt.event.*;

public classEx2_7 extends Applet {TextField in1 = new TextField(10);TextField in2 = new TextField(10); Button btn = new Button(\求两个数的积\ Label out = new Label(\用于显示结果的标签\public void init(){ setLayout( new FlowLayout() ); add( in1 ); add( in2 ); add( btn ); add( out ); btn.addActionListener( new BtnActionAdapter() );} class BtnActionAdapter implements ActionListener{ public void actionPerformed( ActionEvent e ) {String s1 = in1.getText();double d1 = Double.parseDouble( s1 );String s2 = in2.getText();double d2 = Double.parseDouble( s2 );double result = d1 * d2;out.setText( d1 + \}} }

8.常用的集成开发工具有哪些?各有什么特点?

答:常用的集成开发工具包括:Borland公司出品的Jbuilder, Sun公司出品的Java Workshop, IBM公司的Visual Age for Java,Oracle公司的Java Develop,等等。另外,Symantec公司的Visual Café 也是著名的Java开发工具。近来,Eclipse也是使用很广的集成开发工具。

第3章数据运算、流控制、数组

1.简述Java程序的构成。如何判断主类?下面的程序有几处错误?如何改正,这个程序的源代码应该保存成什么名字的文件?public class MyJavaClass

{

public static void main() {

System.out.printIn(\;

}

System.out.printIn(\程序结束。\;

}

答:一个复杂的程序可由一个至多个Java源程序文件构成,每个文件中可以有多个类定义。一般的Java源程序文件由以下三部分组成:

package 语句;(0句—1句)import 语句; (0句—多句)类定义(1个—多个类定义)

这里所说的主类是指程序中含有main()方法的类。

上面的示例程序中的错误主要在于拼写,如:点及分号应该用西文的;printIn中的大写字母I应改为小写字母l;另外,main()方法应该带参数,改为:

public static void main(String [] argvs) import java.applet.*; import java.awt.*;

import java.awt.event.*;

public classEx2_7 extends Applet {TextField in1 = new TextField(10);TextField in2 = new TextField(10);Button btn = new Button(\求两个数的积\ Label out = new Label(\用于显示结果的标签\ public void init(){ setLayout( new FlowLayout() ); add( in1 ); add( in2 ); add( btn ); add( out ); btn.addActionListener( new BtnActionAdapter() );}class BtnActionAdapter implements ActionListener{ public void actionPerformed( ActionEvent e ) {String s1 = in1.getText();double d1 = Double.parseDouble( s1 );String s2 = in2.getText();double d2 = Double.parseDouble( s2 );double result = d1 * d2;out.setText( d1 + \}} }

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.什么是常量?什么是变量?字符变量与字符串常量有何不同?

答:常量是在程序运行的整个过程中保持其值不改变的量。变量是在程序的运行过程中数值可变的数据,通常用来记录运算中间结果或保存数据。

字符变量中存放一个字符,字符串常量中存放一串字符。

6.什么是强制类型转换?在什么情况下需要用到强制类型转换?

答:强制类型的基本方式是指用以下方式显式地进行数据类型的转换:

(类型)表达式

一般地说,在赋值运算符两侧的类型不一致的情况下,则需要进行自动或强制类型转换。变量从占用内存较少的短数据类型转化成占用内存较多的长数据类型时,可以不做显式的类型转换,Java会自动转换;而将变量从较长的数据类型转换成较短的数据类型时,则必须做强制类型转换。

7.Java有哪些算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符?试列举单目和三目运算符。

答:在Java中,按照运算符功能来分,基本的运算符有下面几类:

1.算术运算符(+,-,*,/,%,++,--) 2.关系运算符(>,=,>,<>>,&,|,^,~) 5.赋值运算符(=,及其扩展赋值运算符如+=) 6.条件运算符( ?:)

7.其他 (包括分量运算符·,下标运算符 [],实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等) 其中,单目运算符如-,!,而三目运算符只有一个,即条件运算符(?: )。

8.编写一个字符界面的Java Application程序,接受用户输入的一个浮点数,把它的整数部

推荐阅读:

    想了解更多实用资料的资讯,请访问:实用资料
    下载文档

    看过《JAVA语言与面向对象程序设计课后习题答案》的人还看了以下文章

    延伸阅读

    我读了一本很有趣的书,那本书是《再被狐狸骗一次》。这本书里不仅讲了再被狐狸骗一次这个故事,还讲了关于老虎和豹子的故事。  我们先来说一说关于老虎的故事,那个故事的题目是《虎女蒲公英》,这个故事的内

    一棵小树整日愁容满面,因为它不知道自己是谁。苹果树告诉它只要努力就能结出美味的苹果。玫瑰则告诉它应该努力开出花朵。于是,小树照它们的建议拼命努力,但它越努力就越觉得失败。不久,飞来一只夜莺,对小树

    【教育文库】外国法制史第三章法的现象的历史类型 第一节法的现象历史类型的概念 一、马克思主义经典作家的基本看法 法的现象的历史类型,是对法的现象发展过程的历史阶段或形态所作的划分。 综观马克思主义经

    去银行应聘求职,要写求职信,本文是爱学范文网小编为大家整理的银行应聘求职的意向范文,仅供参考。银行应聘求职意向范文一:  尊敬的领导:  您好!真诚地感谢您在繁忙公务中浏览我这份求职材料。  我是xx

    开展小学校园安全教育活动,认识校园安全隐患存在的必要性,树立自我安全意识; 增强学生自我保护能力。下面是本站小编为大家整理的小学校园安全教育教案大全,欢迎阅读借鉴!  小学校园安全教育教案大全一  一

    【必备】会计个人工作总结4篇会计个人工作总结篇1转眼间又将跨过一个年度。从xx月底接手骨科医院财务会计以来,迄今为止任职已有7个多月的时间,回首过去的7个多月,内心感慨万千。在此期间我所负责的的财务工

    本人在公司各级领导的正确领导下,在同事们的团结合作和关心帮助下,品管部较好地完成了xx年的各项工作任务,现将xx年的各项工作总结如下,敬请各位领导提出宝贵的意见。  一、思想政治表现、品德修养及职总结

    水果是指多汁且大多数有甜味可直接生吃的植物果实,不但含有丰富的营养且能够帮助消化。水果是对部分可以食用的植物果实和种子的统称。以下是爱学范文网分享的描写一种水果,希望能帮助到大

    大学生下乡述职报告。当今社会,报告的适用范围越来越广泛,大多数报告都是在事情完成或发生之后才写的。一听报告就晕?以下是小编整理的一份关于大学生在农村工作的报告,供你参考,希望对有需要的朋友有所帮助。大

    小丝巾简单系法1第一种折法:先沿对角线折叠,再对折几次,系一个节这种系法很有少女的娇俏感,甜美惹人爱。注意看下图模特的丝巾包括黑、白、褐色,和外套的颜色挺配的。白色和牛仔蓝都是非常常下面是小编为大家整