JAVA综合复习题终极版.docx
- 文档编号:23951548
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:31
- 大小:34.11KB
JAVA综合复习题终极版.docx
《JAVA综合复习题终极版.docx》由会员分享,可在线阅读,更多相关《JAVA综合复习题终极版.docx(31页珍藏版)》请在冰豆网上搜索。
JAVA综合复习题终极版
Java语言程序设计综合复习题
一.名词解释:
1、抽象类:
抽象类是不允许实例化的类,因此一般它需要被进行扩展继承。
2、抽象方法:
抽象方法即不包含任何功能代码的方法。
2、访问控制修饰符:
访问控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。
4、应用程序接口:
提供特定功能的一组相关的类和方法的集合。
5、数组:
存储一个或者多个相同数据类型的数据结构,使用下标来访问。
在Java中作为对象处理。
6、自动变量:
也称为方法局部变量methodlocalvariables,即声明在方法体中的变量。
7、基类:
即被扩展继承的类。
8、类型转换:
即一个类型到另一个类型的转换,可以是基本数据类型的转换,也可以是对象类型的转换。
9、字符:
容纳单字符的一种基本数据类型。
10、子类:
见继承类Derivedclass
11、类:
面向对象中的最基本、最重要的定义类型。
12、类成员:
定义在类一级的变量,包括实例变量和静态变量。
13、类方法:
类方法通常是指的静态方法,即不需要实例化类就可以直接访问使用的方法。
14、构造函数:
在对象创建或者实例化时候被调用的方法。
通常使用该方法来初始化数据成员和所需资源。
15、容器:
容器是一种特殊的组件,它可以容纳其他组件。
16、声明:
声明即是在源文件中描述类、接口、方法、包或者变量的语法。
17、继承类:
继承类是扩展继承某个类的类。
18、封装性:
封装性体现了面向对象程序设计的一个特性,将方法和数据组织在一起,隐藏其具体实现而对外体现出公共的接口。
19、事件源:
产生事件的组件或对象称为事件源。
事件源产生事件并把它传递给事件监听器eventlisteners。
20、异常:
异常在Java中有两方面的意思。
首先,异常是一种对象类型。
其次,异常还指的是应用中发生的一种非标准流程情况,即异常状态。
21、对象和类:
对象:
就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类:
是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
22、封装和继承:
封装:
利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部,系统的其它部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型进行交互和交流。
继承:
是存在于面向对象程序的两个类之间的一种关系。
当一个类拥有另一个类所有数据和操作时,就称这两个类之间具有继承关系。
23、多线程:
多线程就是同时执行一个以上的线程,一个线程的执行不必等待另一个线程执行完才执行。
24、事件:
在图形用户界面中,事件是指用户使用鼠标或键盘对窗口中的组件进行交互时所发生的事情。
25、布局管理器:
布局管理器是一些用来负责处理容器中的组件布局排列的类。
26、接口:
在语法上有些类相似于类,它定义了若干抽象方法与常量,形成一个属性集合,该属性集合通常代表了某一组功能的实现,其主要作用是可以帮助我们实现类似于类的多重继承的功能。
27、方法的覆盖与重载
方法的覆盖:
是子类对父类同名方法的重新定义;
方法的重载:
是类对自身已有的同名方法的重新定义;它们是实现面向对象方法中多态技术的两种重要手段。
28、并行执行:
并行执行通常表示同一时刻有多条指令代码在处理器上执行,这种情况往往需要多个处理器。
29、并发执行:
并发执行通常表示,在单处理器上,同一时刻只能执行一条指令代码,多个线程分享CPU时间,操作系统负责调度和给它们分配资源。
二.简答题:
【1】什么是Java程序使用的类?
什么是类库?
[解答]:
Java程序的基本单位是类。
对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。
类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。
Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(ApplicationProgramInterface),它可以帮助开发者方便、快捷地开发Java程序。
【2】如何定义方法?
在面向对象程序设计中方法有什么作用?
[解答]:
方法的定义由两部分组成:
方法声明和方法体。
方法声明的基本格式如下:
返回类型方法名(形式参数)
{
…//方法体内容
}
方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。
在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。
【3】简述构造方法的功能和特点。
下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。
voidStudent(intno,Stringname)
{
studentNo=no;
studentName=name;
returnno;
}
[解答]:
构造方法是一个特殊的方法,主要用于初始化新创建的对象。
构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。
以上的代码段出错于:
①构造方法Student()前不能加void②不能用return语句
【4】什么是修饰符?
修饰符的种类有哪些?
它们各有什么作用?
[解答]:
修饰符是用于限定类对象使用的权限,从而实现类中成员的信息隐藏。
访问修饰符适用于类成员,而不是方法内部的局部变量。
Java常见的访问修饰符有这4种:
private、default、protected和public。
public可以被所有的类访问
pravite只能被类本身访问,其他类无法访问
(3)protected可以被类本身、它的子类(包括同一个包中以及不同包中的子类)
(4)default属于默认的访问状态,可以被类本身和同一个包中的类访问
【5】什么是抽象类?
为什么要引入抽象类的概念?
[解答]:
抽象类是用来描述人们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
抽象类不具备实际功能,是专门设计用来让子类继承的类,把这些具有共同特征的方法抽象出来,由子类负责这些抽象方法的实现细节,而父类仅提供此方法的名称和声明、没有方法的主体,该类。
【6】什么是抽象方法?
如何定义、使用抽象方法?
[解答]:
用abstract关键字修饰的方法称为抽象方法。
抽象方法定义时,需在方法名前加上关键字abstract,抽象方法只有方法声明,没有代码实现的空方法。
因此,必须通过其子类来重写父类中定义的每一个抽象方法。
【7】包的作用是什么?
如何在程序中引入已定义的类?
使用已定义的用户类、系统类有哪些主要方式?
[解答]:
包的作用是将类和接口封装在一起,方便了类和接口的管理和调用。
要引入包中已定义的类,必须用关键字import来导入这些类所在的包。
import语句的一般形式如下:
import包名.类名
其中类名可以用通配符“*”代替。
使用已定义的用户类、系统类主要有三种方式:
直接调用、继承和创建已定义的用户类、系统类的对象。
但无论采用哪种方式,使用已定义的用户类、系统类的前提条件是用户类、系统类应该是用户程序可见的类,为此用户程序需要用import语句引人它所用到的用户类、系统类或用户类、系统类所在的包。
【8】什么是继承?
如何定义继承关系?
[解答]:
同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。
运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类(父类),而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部或部分属性与方法,称作派生类对基类的继承。
派生类继承基类,必须使用关键字extends来声明。
比如派生类B继承基类A,派生类B定义的一般形式如下:
classBextendsA
{…}
【9】什么是多态,如何实现多态?
[解答]:
多态是指一个程序中同名的不同方法共存的情况。
这些方法同名的原因是它们的最终功能和目的都相同,但是由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义含不同的具体内容的方法,来代表多种具体实现形式。
多态通常是一个消息在不同的类中用不同的方法实现的。
多态的实现是由消息的接收者确定一个消息应如何解释,而不是由消息的发送者确定,消息的发送者只需要指导另外的实例可以执行一种特定操作即可。
Java中提供两种多态机制:
方法重载与方法重写。
【10】解释this和super的意义和作用。
[解答]:
this指的是引用当前对象或类名称,当一个类的实例变量名与一个方法中参数名相同时,则参数就隐藏了实例变量名,此时可通过使用关键字this来访问它;super用来引用当前对象的父类,通过super来访问父类被子类隐藏的成员变量、成员方法以及父类的构造方法。
由于子类不继承父类的构造方法,可使用super来调用父类的构造方法,并且super必须是子类构造方法中的第一条语句。
【11】什么是接口?
为什么要定义接口?
接口和类有什么异同?
[解答]:
接口是用来调节各类之间的相互关系的一种结构,接口是抽象类的一种,只包含常量和方法的定义,而没有变量和具体方法的实现,且其方法都是抽象方法。
接口定义的格式如下:
[public]interface接口名[extends父接口名列表]{
…//接口体
}
extends子句有类声明的extends子句基本相同,不同的是一个接口可有多个父接口,用逗号隔开,而一个类只能有一个父类。
Java中的类只能实现单重继承,这虽然可以简化编程,但毕竟没有完全实现面向对象的功能。
定义接口的主要作用,就是帮助Java实现类间多重继承的结构。
而且接口还有以下好处:
● 接口可以被多个类所实现,这些类可以不相关,从而具有相同的行为。
● 通过接口可以了解对象的行为,而无需了解对象所对应的类的结构。
【12】什么是图形用户界面?
试列举出图形用户界面中你使用过的组件。
[解答]:
图形用户界面或图形用户接口(GraphicalUserInterface,GUI)是指采用图形方式显示的计算机操作环境用户接口。
与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。
(比如你用windowsXP和使用DOS操作系统的差别)。
GUI是事件驱动的,也就是说,一旦用户与GUI交互,GUI组件就会生成”事件“(动作)。
常见交互包括移动鼠标、单击鼠标按钮、在文字段输入、从菜单选择一个选项以及关闭一个窗口等等。
在windwosXP的GUI中,使用过窗口,菜单条,按钮等
三.编程题
1、用Circle类分别计算半径为2.4和4.5的圆面积和圆周长。
答:
publicclassUseCircle
{publicstaticvoidmain(String[]args)
{Circlec1=newCircle();
Circlec2=newCircle();
System.out.println("半径为2.4的圆面积是"+c1.area(2.4));
System.out.println("半径为2.4的圆周长是"+c1.circumference(2.4));
System.out.println("半径为4.5的圆面积是"+c2.area(4.5));
System.out.println("半径为4.5的圆周长是"+c2.circumference(4.5));
}
}
classCircle
{doublecircumference(doubleradius)//用于计算圆周长
{return2*radius*Math.PI;}
doublearea(doubleradius)//用于计算圆面积
{returnMath.PI*radius*radius;}
}
2、编写程序,求
的值。
答:
publicclassTest_12{
publicstaticvoidmain(String[]args){
intk,sum=0;
for(k=1;k<=10;k++){
sum=sum+k*k;
}
System.out.println("sum="+sum);
}
}
3、编程输出显示两个的整型数及两个数的积。
答:
importjava.util.*;
publicclassInputTest2
{
publicstaticvoidmain(String[]args)
{
Scannerin=newScanner(System.in);
System.out.print("请输入两个数:
");
inta=in.nextInt();
intb=in.nextInt();
intz;
z=a*b;
System.out.println("第一个数是:
"+a);
System.out.println("第二个数是:
"+b);
System.out.println("两个数的积是:
"+z);
}
}
4、假设x=10,y=20,z=30,编程求下列布尔表达式的值:
(1)x<10||x<10
(2)x>y&&y>x
(3)(x (4)z-y==x&&(y-z)==x (5)x<10&&y>x (6) x>y||y>x (7) ! (x (x+10<=20) (8)( ! (x==y))&&(x ! =y)&&(x 答: publicclassTest_5{ publicstaticvoidmain(String[]args){ intx=10,y=20,z=30; booleanflag;//求x<10||x<10布尔值 flag=x<10||x<10; System.out.println("5_1: "+flag); //求x>y&&y flag=x>y&&y System.out.println("5_2: "+flag); //求(x flag=(x System.out.println("5_3: "+flag); //求z-y==x&&(y-z)==x布尔值 flag=z-y==x&&(y-z)==x; System.out.println("5_4: "+flag); //求x<10&&x>10布尔值 flag=x<10&&x>10; System.out.println("5_5: "+flag); //求x>y||y>x布尔值 flag=x>y||y>x; System.out.println("5_6: "+flag); //求! (x (x+10<=20)布尔值 flag=! (x (x+10<=20); System.out.println("5_7: "+flag); //求(! (x==y))&&(x! =y)&&(x flag=(! (x==y))&&(x! =y)&&(x System.out.println("5_8: "+flag); } } } 5、假设x=10,y=20,z=30,求下列布尔表达式的值: (1)x<10||x<10 (2)x>y&&y>x (3)(x (4)z-y==x&&(y-z)==x (5)x<10&&y>x (6) x>y||y>x (7) ! (x (x+10<=20) (8)( ! (x==y))&&(x ! =y)&&(x [解答]: publicclassTest_5{ publicstaticvoidmain(String[]args){ intx=10,y=20,z=30; booleanflag; //求x<10||x<10布尔值 flag=x<10||x<10; System.out.println("5_1: "+flag); //求x>y&&y flag=x>y&&y System.out.println("5_2: "+flag); //求(x flag=(x System.out.println("5_3: "+flag); //求z-y==x&&(y-z)==x布尔值 flag=z-y==x&&(y-z)==x; System.out.println("5_4: "+flag); //求x<10&&x>10布尔值 flag=x<10&&x>10; System.out.println("5_5: "+flag); //求x>y||y>x布尔值 flag=x>y||y>x; System.out.println("5_6: "+flag); //求! (x (x+10<=20)布尔值 flag=! (x (x+10<=20); System.out.println("5_7: "+flag); //求(! (x==y))&&(x! =y)&&(x flag=(! (x==y))&&(x! =y)&&(x System.out.println("5_8: "+flag); } } 6、有一函数: x(x<1) y=3x-2(1≤x<10) 4x(x≥10) 编写一程序,给定x值,输出y值。 [解答]: importjava.io.*; publicclassTest_9{ publicstaticvoidmain(String[]args)throwsNumberFormatException,IOException{ InputStreamReaderisr=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(isr); System.out.println("请输入数字x的值: "); doublex=Double.parseDouble(br.readLine()); doubley=0; if(x<1){ y=x; }else{ if(x>=1&&x<10){ y=3*x-2; }else{ y=4*x; } } System.out.println("y="+y); } } 7、编写一程序,输入3个数,能按大小顺序输出。 [解答]: importjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStreamReader; publicclassTest_13{ publicstaticvoidmain(String[]args)throwsNumberFormatException,IOException{ InputStreamReaderisr=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(isr); inta[]=newint[3]; intk,temp; System.out.println("请输入3个数字(每输入一个数字后请换行)"); for(inti=0;i<3;i++){ a[i]=Integer.parseInt(br.readLine()); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 综合 复习题 终极