JAVA期末试题及答案Word下载.docx
《JAVA期末试题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA期末试题及答案Word下载.docx(49页珍藏版)》请在冰豆网上搜索。
(B)ListmyList=newArrayList()
(C)ArrayListmyList=newList()
(D)ListmyList=newList()
11.Java源文件和编译后的文件扩展名分别为(
)
(A).class和
.java
(B).java和.class
(C).class和
.class
(D).java和
.java
12.在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画图操作。
(A)start()(B)stop()
(C)init()(D)paint()
13.对于一个Java源文件,import,class定义以及package正确的顺序是:
(A)package,import,class
(B)class,import,package
(C)import,package,class
(D)package,class,import
14.下面哪个是非法的:
(A)intI=32;
(B)floatf=45.0;
(C)doubled=45.0;
(D)charc=‘u’;
//符号错
15.Java语言使用的字符码集是
(A)ASCII(B)BCD
(C)DCB(D)Unicode
16.如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是
(A)public(B)protected
(C)private(D)static
17.下面关于main方法说明正确的是
(A)publicmain(Stringargs[])
(B)publicstaticvoidmain(Stringargs[])
(C)privatestaticvoidmain(Stringargs[])
(D)voidmain()
18.哪个关键字可以对对象加互斥锁?
()
(A)transient(B)synchronized
(C)serialize(D)static
19.关于抽象方法的说法正确的是()
(A)可以有方法体(B)可以出现在非抽象类中
(C)是没有方法体的方法(D)抽象类中的方法都是抽象方法
20.java.io包的File类是
(A)字符流类(B)字节流类
(C)对象流类(D)非流类
21.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参?
A、StringargsB、Stringargs[]C、CharargD、StringBufferargs[]
22.以下代码段执行后的输出结果为()
intx=-3;
inty=-10;
System.out.println(y%x);
A、-1B、2C、1D、3
23.以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
24.若有定义:
byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是()
A)x[5-3]
B)x[k]
C)x[k+5]
D)x[0]
25.paint()方法使用哪种类型的参数?
()
A、GraphicsB、Graphics2DC、StringD、Color
26.以下哪个不是Java的原始数据类型()
A、intB、BooleanC、floatD、char
27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为()
A)隐藏
B)重写
C)重载
D)Java不支持此特性
28.以下有关构造方法的说法,正确的是:
A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用。
D.构造方法可以和类同名,也可以和类名不同
29.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行()。
A、init()B、start()C、destroy()D、stop()
30.给出下面代码,关于该程序以下哪个说法是正确的?
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[])
{
System.out.println(arr[0]);
}
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
31、有以下方法的定义,请选择该方法的返回类型()。
ReturnTypemethod(bytex,doubley)
{
return(short)x/y*2;
}
A、byteB、shortC、intD、double
32.下列类定义中哪些是合法的抽象类的定义?
A、abstractAnimal{abstractvoidgrowl();
B、classabstractAnimal{abstractvoidgrowl();
C、abstractclassAnimal{abstractvoidgrowl();
D、abstractclassAnimal{abstractvoidgrowl(){System.out.println(“growl”);
};
}
33.有以下程序片段,下列哪个选项不能插入到行1。
1.
2.publicclassInteresting{
3.//dosth
4.}
A、importjava.awt.*;
B、packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
34.设有下面两个赋值语句:
a=Integer.parseInt(“12”);
b=Integer.valueOf(“12”).intValue();
下述说法正确的是()。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
35.在编写JavaApplet程序时,需在程序的开头写上()语句。
A、importjava.awt.*;
B、importjava.applet.Applet;
C、importjava.io.*;
D、importjava.awt.Graphics;
36.下列哪一项不属于Swing的顶层容器?
A)JAppletB)JTreeC)JDialogD)JFrame
37.为了使包ch4在当前程序中可见,可以使用的语句是()。
A)importch4.*;
B)packagech4.*;
C)ch4import;
D)ch4package;
38.请问所有的异常类皆继承哪一个类?
()。
A)java.io.ExceptionB)java.lang.Throwable
C)java.lang.ExceptionD)java.lang.Error
39.进行Java基本的GUI设计需要用到的包是()。
A)java.ioB)java.sqlC)java.awtD)java.rmi
40.当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?
A)KeyEventB)ActionEventC)ItemEventD)MouseEvent
填空题:
1.数组x定义:
Stringx[][]=newint[3][2];
x[0][0]=”abc”,x[0][1]=”12345”;
则x.length的值为______2___,x[0][1].length()的值为__5___。
2、Java语言的变量由变量名、_变量类型、变量属性、_初值___组成。
3、当程序中需要抛出异常时,应该使用_throw子句,当需要在方法中声明可能抛出的异常类型,应该使用throws子句。
4、java.applet包中的Applet类定义了Applet与其运行环境之间的一个标准接口。
5、Java语言中提供的GUI功能主要由java.awt包和_java.swing_包中的类和接口实现。
6、Java源程序文件和字节码文件的扩展名分别为_.java___和__.class___。
7、Java语言的类型检查机制要求对于没有返回值的方法,在其前面必须加___void___进行说明。
8、类是Java语言的一种引用数据类型。
9、在Java语言中,所有的对象均通过new运算符分配内存,并对内存进行自动管理。
10、每个JavaApplication程序可以包括许多方法,但是必须有且只能有一个_
main()方法,统一格式为publicstaticvoidmain(String[]args){},它是程序执行的入口。
11、若要在程序中定义一个公用的int型的类成员变量MAX_LENGTH,且该变量的值保持常数值1000,则定义该变量的语句是publicintMAX_LENGTH=1000;
。
12、子类必须通过_super_关键字调用父类有参数的构造函数。
13、在Java语言中,所有的类都是类__Object__的子类。
14、在Java程序中,通过类的定义只能实现单重继承,但通过__接口__的定义可以实现多重继承关系。
15、如果在Java程序中,需要使用java.util包中的所有类,则应该在程序开始处加上语句_importjava.util.*_。
16、下列程序的运行结果是__01234_______________
publicclassex2{
publicstaticvoidmain(String[]args)
for(intcnt=0;
cnt<
10;
cnt++)
{
if(cnt==5)
break;
System.out.print(cnt);
}}}
17、下列程序的运行结果是______4_________
importjava.io.*;
publicclassATest{
publicstaticvoidmain(Stringargs[])
{
SubClasssb=newSubClass();
System.out.println(sb.fun());
}}
classSuperClass{
inta=24,b=5;
classSubClassextendsSuperClass
intfun()
returna%b;
18、分析下列程序,填上空白处的语句
classpoint//定义坐标类
{intx,y;
test(inta,intb)
{x=a;
y=b;
classrec_extendspoint__________//定义长方形类
intlength,width;
rec(inta1,intb1,intl,intw)
{super(a1,b1);
length=l;
width=w;
classtest
{publicstaticvoidmain(Stringargs[])
___testr1=newtest(“0”,“0”,“10”,“20”)__________________
//定义名为r1的对象同时初始化坐标为0,0,长度为10,宽度为20
r1.print();
19、Java源文件中最多只能有__________1___________个公共类,其它类的个数不限。
20、在Java中所有实现的多维数组,实际上是由一维数组构成的_数组的数组。
21、设x=15,则表达式(x++)/4的值是___3_______________。
22、___抽象______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
23、____run()______方法用于定义线程的执行体._____start()______方法用于启动线程.
24、Stringstr1=”abc”;
Stringstr2=newString(“abc”);
System.out.println(str1==str2);
则程序运行后输出结果为:
_____fault________
25、Java语言中,有一个类是所有类或接口的父类,这个类的名称是____Object______。
26、当启动Applet程序时,首先调用的方法是int()。
27、Java语言是一种完全的面向对象的,适用于网络环境程序设计语言。
28.如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是____Applet_____类的子类并且存储该源程序文件的文件名为。
29.设intx=2,则表达式(x++)/3的值是_____0_______________。
30.Java提供的访问权限修饰符有4个,即:
public、_private、protected和友元。
31.Java中有两种常用的字符串类,一个是String,另一个是_stringBuffer。
32.Java实现多线程的方法有两种,一种方法是通过创建_____________________类的子类实现多线程,另一种方法是定义一个实现
_____________________接口的类。
33.Java不支持多继承。
但它允许一个类同时实现多个__接口____,这就相当于部分实现了多继承。
34.Java源文件中,__________import___________语句位于package语句之后、类定义之前。
Package、import、class
35.__OutputStreamWriter__类是OutputStream类的子类,用来处理以文件作为数据输出的数据流。
三、编程题:
1.编写一个输出"
HelloWorld!
"
的程序,用两种方式实现(Application、Applet)。
1.application程序
publicclassa
publicstaticvoidmain(Stringargs[])
System.out.println("
HelloWorld!
);
2.applet程序
publicclassbextendsjava.applet.Applet
publicpaint(java.awt.Graphicsg)
g.outstring("
10,10);
2.编写一个JavaApplication,接收从键盘输入的10个整数,并输出其中的最大、最小以及平均值。
要求:
将计算功能定义在一个类中,由主类接收输入,再用数组的方式传递给实现计算的类的方法,再输出结果。
publicclassComplex{
privatefloatshibu;
privatefloatxubu;
Complex()
this(0,0);
Complex(floatshibu,floatxubu){
this.shibu=shibu;
this.xubu=xubu;
publicvoidAdd(Complexp)
Complexresult=newComplex();
result.shibu=this.shibu+p.shibu;
result.xubu=this.xubu+p.xubu;
System.out.print("
加法果为:
+result.shibu+"
+"
+result.xubu+"
i"
publicstaticvoidmain(String[]args){
Complexfushu1=newComplex(1,2);
Complexfushu2=newComplex(3,4);
fushu1.Add(fushu2);
4.求10个数中的最大值并输出。
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intnum[]=newint[10];
intmax;
Scannerscan=newScanner(System.in);
请输入10个数字:
for(inti=0;
i<
i++){
num[i]=scan.nextInt();
max=num[0];
for(inti=1;
if(max<
num[i])max=num[i];
最大值是"
+max);
5.建立一个学生类,其中成员变量为学号,姓名,及三门课成绩。
另外建立一个包含主方法的类,定义2个学生类的对象,求出这2个学生三门课总分的最高分,并将最高分这个学生的信息输出。
publicclassStudent{
privateStringstu_id;
privateStringstu_name;
privatefloatmath;
privatefloatchinese;
privatefloatcomputer;
publicvoidsetStu_id(Stringstu_id){
this.stu_id=stu_id;
publicStringgetStu_id(){
returnstu_id;
publicvoidsetStu_name(Stringstu_name){
this.stu_name=stu_name;
publicStringgetStu_name(){
returnstu_name;
publicvoidsetMath(floatmath){
this.math=math;
publicfloatgetMath(){
returnmath;
publicvoidsetChinese(floatchinese){
this.chinese=chinese;
publicfloatgetChinese(){
returnchinese;
publicvoidsetComputer(floatcomputer){
puter=computer;
publicfloatgetComputer(){
returncomputer;
}
//主方法的类
publicclassStart{
publicstaticvoidmain(String[]args){
Studentstu1=newStudent();
stu1.setStu_id("
No1"
stu1.setStu_name("
张三"
stu1.setMath(89.5f);
stu1.setChinese(70f);
stu1.setComputer(98f);
Studentstu2=newStudent();
stu2.setStu_id("
No2"
stu2.setStu_name("
李四"
stu2.setMath(79.5f);
stu2.setChinese(90f);
stu2.setComputer(68f);
floatstu1Sum=stu1.getMath()+stu1.getChinese()+stu1.getComputer();
floatstu2Sum=stu2.getMath()+stu2.getC