Java期末考试题广东工业大学.docx
《Java期末考试题广东工业大学.docx》由会员分享,可在线阅读,更多相关《Java期末考试题广东工业大学.docx(37页珍藏版)》请在冰点文库上搜索。
Java期末考试题广东工业大学
Java期末考试题
一、选择题。
1.编译Java Applet源程序文件产生的字节码文件的扩展名为( B )。
A、java B、class C、html D、exe
2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )?
A、public static void main()
B、public static void main(String args[])
C、publicstaticint main(String []arg)
D、public void main(String arg[])
3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A、static void method() B、public void method()
C、final void method() D、abstract void method()
4.下列哪个是合法的Java标识符?
( C )
A、Tree&Glasses B、FirstJavaApplet
C、_$theLastOne D、273.5
5.Java Application源程序的主类是指包含有( A )方法的类。
A、main方法 B、toString方法
C、init方法 D、actionPerfromed方法
6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。
A、8 B、16 C、32 D、64
7.设a=8,则表达式 a>>>2(a无单位右移2)的值是( B )。
先把8变为2进制,即为1000,再无单位右移2,即为0010,将之变为10进制,即为2.
A、1 B、2 C、3 D、4
8.若a的值为3时,下列程序段被执行后,c的值是多少?
( C)
c=1;
if (a>0) if (a>3) c=2; else c=3; else c=4;
A、1 B、2 C、3 D、4
9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。
A、import java.awt.*; B、import java.applet.Applet;
C、import java.io.*; D、import java.awt.Graphics;
10.对于构造函数,下列叙述正确的是( ACD )。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
11.下面的是关于类及其修饰符的一些描述,正确的是:
( B )。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
12.若需要定义一个类域或类方法,应使用哪种修饰符?
( A )
A、static B、package C、private D、public
13.若在某一个类定义中定义有如下的方法:
abstract void performDial();该方法属于( D )。
A、本地方法 B、最终方法 C、解态方法 D、抽象方法
14.下列关于静态初始化器的叙述中,哪一个是正确的?
( BD )
A、静态初始化器是在构造函数之前加上static修饰符。
B、静态初始化器是对类自身进行初始化。
C、静态初始化器在同一个类中只能有一个。
D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。
15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?
(BD )
A、实例方法可以直接调用父类的实例方法。
B、实例方法可以直接调用父类的类方法。
C、实例方法可以直接调用其他类的实例方法。
D、实例方法可以直接调用本类的类方法。
16.设有下面两个类的定义:
class Person{ class Student extends Person{
long id; //身份证号 int score; //入学总分
String name; //姓名 int getScore(){
} return score;
}
}
问:
类Person和类Student的关系是( B )。
A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误
17.设有下面的两个类定义:
class AA{
void Show(){System.out.println("我喜欢Java!
");
}
class BBextends AA{
void Show(){System.out.println("我喜欢C++!
");
}
则顺序执行如下语句后输出结果为:
( A )
AA a; BB b;
a.Show(); b.Show();
A、我喜欢Java!
B、我喜欢C++!
我喜欢C++!
我喜欢Java!
C、我喜欢Java!
D、我喜欢C++!
我喜欢Java!
我喜欢C++!
18.设有下面的一个类定义:
class AA{
static void Show(){System.out.println("我喜欢Java!
");}
}
class BB{ void Show(){System.out.println("我喜欢C++!
");}}
若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:
( C )
A、a.Show() B、AA.Show();
b.Show() BB.Show();
C、AA.Show(); D、a.Show();
b.Show(); BB.Show();
19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为( C )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
20.对于构造函数,下列叙述正确的是( ABD )。
A、构造函数也允许重载。
B、子类无条件地继承父类的无参构造函数。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。
21.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、private B、protected
C、private protected D、public
22.设有下面两个赋值语句:
a=Integer.parseInt("1024");
b=Integer.valueOf("1024").intValue();
下述说法正确的是( D )。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。
D、a和b都是整数类型变量并且它们的值相等。
23.在Java Applet程序用户自定义的Applet子类中,常常重载( D )方法在Applet的界面中显示文字、图形和其它界面元素。
A、start() B、stop()
C、init() D、paint()
24.下面的语句的作用是:
( D )。
Vector MyVector=new Vector(100,50);
A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。
B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。
C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。
D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。
25.在Java中,存放字符串常量的对象属于( B )类对象。
A、Character B、String
C、StringBuffer D、Vector
26.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是( D )包。
A、java.io B、java.awt
C、java.applet D、java.awt.event
27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用( A )类的对象来实现。
A、Label (标签) B、Button
C、TextArea D、TextField
28.创建一个标识有"关闭"按钮的语句是( D )。
A、TextField b=new TextField("关闭");
B、Label b=new Label("关闭");
C、Checkbox b=new Checkbox("关闭");
D、Button b=new Button("关闭");
29.在编写异常处理的Java程序中,每个catch语句块都应该与( C )语句块对应,使得用该语句块来启动Java的异常处理机制。
A、if-else B、switch C、try D、throw
30.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.*; B、import java.applet.*;
C、import java.io.*; D、import java.awt.event.*;
31.对于子类的构造函数说明,下列叙述中不正确的是( D )。
A、子类无条件地继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
32.Java语言是(D)。
A.面向问题的解释型高级编程语言
B.面向机器的低级编程语言
C.面向过程的编译型高级编程语言
D.面向对象的解释型高级编程语言
33.下列的变量定义中,错误的是(D)。
A)inti;B)inti=Integer.MAX_VALUE;C)staticinti=100;D)int123_$;
34.以下的变量定义语句中,合法的是(B)。
A)float$_*5=3.4F;B)byteb1=15678;
C)doublea=Double.MAX_VALUE;
D)int_abc_=3721L;
35.以下字符常量中不合法的是()。
A)'|'B)'\''C)"\n"D)'我'
36.下列程序段执行后t5的结果是()。
intt1=9,t2=11,t3=8;
intt4,t5;
t4=t1>t2?
t1:
t2+t1;
t5=t4>t3?
t4:
t3;
A)8B)20C)11D)9
37.设a,b,c,d均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的
是()。
A)a!
=b&c%dC)++a*b--+dD)a+b>=c+d
38.以下由do-while语句构成的循环执行的次数是()。
intk=0;
do{++k;}while(k<1);
A)一次也不执行B)执行1次C)无限次D)有语法错,不能执行
39.下列语句序列执行后,k的值是()。
intj=8,k=15;
for(inti=2;i!
=j;i++)
{j-=2;k++;}(j=j-2)
A)18B)15C)16D)17
40.下列语句序列执行后,j的值是()。
intj=3,i=2;
while(--i!
=i/j)
j=j+2;
A)2B)4C)6D)5
41.下列语句序列执行后,k的值是()。
intx=6,y=10,k=5;
switch(x%y)
{case0:
k=x*y;
case6:
k=x/y;
case12:
k=x-y;
default:
k=x*y-x;(没有匹配的)
}
A)60B)54C)0D)5
42.下列语句序列执行后,a的值是()。
inta=13;
a%=a/5;
A)3B)13C)1D)169
43.既能作为类的修饰符,也能作为类成员的修饰符的是()。
A)publicB)extendsC)FloatD)static
44.下列选项中,用于定义接口的关键字是()。
A)importB)implementsC)interfaceD)protected
45.下列类头定义中,错误的是()。
A)classx
{....}
B)publicxextendsy
{....}
C)publicclassxextendsy
{....}
D)classxextendsyimplementsy1
{....}
46.下列选项中,用于在定义类头时声明父类名的关键字是()。
A)returnB)interfaceC)extendsD)class
47.设i,j为类x中定义的double型变量名,下列x类的构造函数中不正确的是()。
A)doublex(doublek){i=k;returni;}
B)x(doublem,doublen){i=m;j=n;}
C)x(){i=0;j=0}
D)x(doublek){i=k;}
48.下列方法定义中,不正确的是()。
A)publicintx(){...}
B)publicstaticintx(doubley){...}
C)voidx(doubled){...}
D)publicstaticx(doublea){...}
49.能从循环语句的循环体中跳出的语句是()。
A)for语句B)break语句C)while语句D)continue语句
50.若有循环:
intx=5,y=20;
do{
y-=x;
x++;
}while(++x<--y);则循环体将被执行()。
A.0次B.1次C.2次D.3次
51.定义类头时,不可能用到的关键字是()。
A)privateB)classC)extendsD)implements
52.在一个应用程序中有如下定义:
inta[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个元素,下面正确的代码是()。
A)System.out.println(a[10]);
B)System.out.println(a[9]);
C)System.out.println(a[a.length]);
D)System.out.println(a(8));
53.若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是()。
A)它们的返回值类型的不同B)它们的名称的不同
C)它们的参数表的不同D)它们的修饰符不同
54.下面是有关子类继承父类构造函数的描述,其中正确的是()。
A)创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B)子类无条件地继承父类不含参数的构造函数。
C)子类必须通过super关键字调用父类的构造函数。
D)子类无法继承父类的构造函数。
55.下面说法正确的是()。
A)final可修饰类、属性、方法。
B)abstract可修饰类、属性、方法。
C)定义抽象方法需有方法的返回类型、名称、参数列表和方法体。
D)用final修饰的变量,在程序中可对这个变量的值进行更改。
56.下列哪个选项是合法的标识符?
A)123B)_nameC)classD)1first
59.下列的哪个赋值语句是不正确的?
A)floatf=11.1;B)doubled=5.3E12;
C)floatd=3.14f;D)doublef=11.1E10f;
60.下列的哪个赋值语句是正确的?
A)chara=12;B)inta=12.0;C)inta=12.0f;D)inta=(int)12.0;
61.给出下列的代码,哪行在编译时可能会有错误?
①publicvoidmodify(){
②inti,j,k;
③i=100;
④while(i>0){
⑤j=i*2;
⑥System.out.println("Thevalueofjis"+j);
⑦k=k+1;
⑧}
⑨}
A)line4B)line6C)line7D)line8
62.下列关于继承的哪项叙述是正确的?
A)在java中允许多重继承
B)在java中一个类只能实现一个接口
C)在java中一个类不能同时继承一个类和实现一个接口
D)java的单一继承使代码更可靠
63.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?
A)privateB)无修饰符C)publicD)protected
64.给出下列代码,如何使成员变量m被方法fun()直接访问?
classTest
{
privateintm;
publicstaticvoidfun()
{
...
}
}
A)将privateintm改为protectedintm
B)将privateintm改为publicintm
C)将privateintm改为staticintm
D)将privateintm改为intm
65.已知有下列类的说明,则下列哪个语句是正确的?
publicclassTest
{
privatefloatf=1.0f;
intm=12;
staticintn=1;
publicstaticvoidmain(Stringarg[])
{
Testt=newTest();
}
}
A)t.f;B)this.n;C)Test.m;D)Test.f;
66.给出下列代码,则数组初始化中哪项是不正确的?
byte[]array1,array2[];
bytearray3[][];
byte[][]array4;
A)array2=array1B)array2=array3C)array2=array4D)array3=array4
67.下列代码的执行结果是
publ