java复习 下载本文

1. Java语言有哪些主要特点? 答:(要点):

1.简单易学 2.面向对象 3.平台无关性 4.安全稳定 5.支持多线程

6.很好地支持网络编程

7.Java丰富的类库使得Java可以广泛地应用

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

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

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

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

答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。

类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。

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

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

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

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

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

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

5.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系?

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

1

6.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么? 答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。

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

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

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

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

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

答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。

9.简述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)

10.Java有哪些基本数据类型?写出int型所能表达的最大、最小数据。

答:Java中定义了4类/8种基本数据类型: (1)逻辑型——boolean

(2)整数型——byte, short, int, long (3)浮点数型——float, double (4)字符型——char

其中整型int占4个字节,其范围为 -2147483648-2147483647。

2

11. Java对标识符命名有什么规定,下面这些标识符哪些是对的?哪些是错的?错在哪里?

(1)MyGame (2)_isHers (3)2JavaProgram (4)Java-Visual-Machine (5)_$abc 答:标识符可以由编程者自由指定,但是需要遵循—定的语法规定。标识符要满足如下的规定:

(1)标识符可以由字母、数字和下划线(_)、美元符号($)组合而成。 (2)标识符必须以字母、下划线或美元符号开头,不能以数字开头。

在实际应用标识符时,应该使标识符能一定程度上反映它所表示的变量、常量、对象或类的意义,这样程序的可读性会更好。

题中的标识符中的(3)不对,因为用数字开头了,(4)也不对,因为其中用了减号。 12.什么是强制类型转换?在什么情况下需要用到强制类型转换?

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

(类型)表达式

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

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

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

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

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

14.结构化程序设计有哪三种基本流程?分别对应Java中的哪些语句?

答:任何程序都可以且只能由三种基本流程结构构成,即顺序结构、分支结构和循环结构。顺序结构直接书写,分支结构用if及switch语句书写,循环结构用for、while及do语句来书写。

15.什么是数组?数组有哪些特点?Java中创建数组需要使用哪些步骤?如何访问数组的一个元素?数组元素的下标与数组的长度有什么关系?

答:数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来惟一地确定数组中的元素。

数组要进行定义和分配空间后才能使用。 一维数组的定义方式为:

type arrayName[ ]; 或 type [ ] arrayName;

分配内存空间则要用到运算符new,其格式如下:

arrayName = new type[arraySize];

3