《Java语言程序设计》期末复习题Word文件下载.docx
《《Java语言程序设计》期末复习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计》期末复习题Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
28.Applet是一种特殊的Panel,它是JavaApplet程序的最外层容器。
29.子类的域和方法的数目一定大于等于父类的域和方法的数目。
30.System类不能实例化,即不能创建System类的对象。
31.用户自定义的图形界面元素也可以响应用户的动作,具有交互功能TF
32.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
33.Vector类中的对象不能是简单数据类型。
34.Java中的String类的对象既可以是字符串常量,也可以是字符串变量。
35.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
二、选择题
1、关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是(B)
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
2、以下代码段将创建(B)个对象。
Strings1="
bc"
;
Strings2="
A.0B、1C、2D、3
3、编译并运行以下程序,以下描述哪个选项是正确的(C)
1.classX{
2.protectedStringtoString(){
3.returnsuper.toString();
}
4.}
A、编译通过运行无异常B、编译通过但运行时出错、
C、行2出错,不能成功编译D、不能成功编译,行3出错
4、下列关于修饰符混用的说法,错误的是(D)
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
5、容器Panel和Applet缺省使用的布局编辑策略是(B)
A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout
6、以下标识符中哪项是不合法的(C)
A、BigMeaninglessNameB、$int
C、1stD、$1
7、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)
A、publicstaticvoidmain()B、publicstaticvoidmain(String[]args)
C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])
8、执行完以下代码int[]x=newint[25];
后,以下哪项说明是正确的(A)
A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空
9、以下代码段执行后的输出结果为(B)
intx=3;
inty=10;
System.out.println(y%x);
A、0B、1C、2D、3
10、以下哪个表达式是不合法的(B)
A、Stringx=”Hello”;
inty=9;
x+=y;
B、Stringx=”Hello”;
if(x==y){}
C、Stringx=”Hello”;
x=x+y;
D、Stringx=null;
inty=(x!
=null)&
&
(x.length()>
0)?
x.length:
0
11、编译运行以下程序后,关于输出结果的说明正确的是(C)
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println(“valueis“+((x>
4)?
99.9:
9));
A、输出结果为:
valueis99.99B、输出结果为:
valueis9
C、输出结果为:
valueis9.0D、编译错误
12、以下声明合法的是(B)
A、defaultStrings;
B、publicfinalstaticnativeintw()
C、abstractdoubled;
D、abstractfinaldoublehyperbolicCosine()
13、关于以下application的说明,正确的是(C)
1.classStaticStuff
2.{
3.staticintx=10;
4.static{x+=5;
5.publicstaticvoidmain(Stringargs[])
6.{
7.System.out.println(“x=”+x);
8.}
9.static{x/=3;
10.}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:
x=5
D、编译通过,执行结果为:
x=3
14、关于以下程序代码的说明正确的是(D)
1.classHasStatic{
2.privatestaticintx=100;
3.publicstaticvoidmain(Stringargs[]){
4.HasStatichs1=newHasStatic();
5.hs1.x++;
6.HasStatichs2=newHasStatic();
7.hs2.x++;
8.hs1=newHasStatic();
9.hs1.x++;
10.HasStatic.x--;
11.System.out.println(“x=”+x);
12.}
13.}
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:
x=103
D、程序通过编译,输出结果为:
x=102
15、以下选项中循环结构合法的是(C)
A、while(inti<
7)
{i++;
System.out.println(“iis“+i);
}
B、intj=3;
while(j)
{System.out.println(“jis“+j);
C、intj=0;
for(intk=0;
j+k!
=10;
j++,k++)
{System.out.println(“jis“+j+“kis”+k);
D、intj=0;
do{
System.out.println(“jis“+j++);
if(j==3){continueloop;
}while(j<
10);
16、类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
(B)
A、publicfloataMethod(floata,floatb,floatc){}
B、publicfloataMethod(floatc,floatd){}
C、publicintaMethod(inta,intb){}
D、privatefloataMethod(inta,intb,intc){}
17、类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.}
5.publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行6是不合法的。
(A)
A、floataMethod(floata,floatb){}
B、publicintaMethod(inta,intb)throwsException{}
C、publicfloataMethod(floatp,floatq){}
D、publicintaMethod(inta,intb)throwsIOException{}
18、关于以下程序段,正确的说法是(C)
1.Strings1=”abc”+”def”;
2.Strings2=newString(s1);
3.if(s1==s2)
4.System.out.println(“==succeeded”);
5.if(s1.equals(s2))
6.System.out.println(“.equals()succeeded”);
A、行4与行6都将执行B、行4执行,行6不执行
C、行6执行,行4不执行C、行4、行6都不执行
19、以下说法哪项是正确的(A)
1.classMyListener
2.extendsMouseAdapterimplementsMouseListener{
3.publicvoidmouseEntered(MouseEventmev)
4.{System.out.println("
Mouseentered."
);
5.}
A、以上代码可通过编译
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、不能通过编译,因为类头定义不能分行
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常
20、关于以下程序段的说法,正确的是(A)
1.classMyListenerimplements
2.ActionListener,ItemListener{
3.publicvoidactionPerformed(ActionEventae){
4.System.out.println("
Action"
5.publicvoiditemStateChanged(ItemEventie){
6.System.out.println("
Item"
7.}
8.}
A、可通过编译
B、第2行产生编译错误
C、第3行产生编译错误
D、第5行产生编译错误
21、通过调用newList(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。
A、该列表不支持复选B、该列表有10个选项
C、根据需要该列表可能有垂直滚动条D、该列表支持10个可见选项
22、以下哪项可能包含菜单条(B)
A、PanelB、FrameC、AppletD、Dialog
23、以下代码完成画线功能,指出所画线的颜色(D)
1.g.setColor(Color.red.green.yello.cyan);
2.g.drawLine(0,0,100,100);
A、redB、greenC、yelloD、cyan
24、关于以下代码所画图形的说明,正确的是(B)
1.g.setColor(Color.black);
2.g.drawLine(10,10,10,50);
3.g.setColor(Color.red);
4.g.drawRect(100,100,150,150);
A、一条40像素长的垂直红线,一个边长为150像素的红色四方形
B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形
C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形
D、一条50像素长的垂直红线,一个边长为150像素的红色四方形
25、编译并运行以下程序(命令:
javaAB1),关于运行结果的描述以下哪个选项是正确的(A)
classAB{
publicstaticvoidmain(String[]args){
longi=0;
try{
i=Integer.parseInt(args[0]);
}catch(Exceptione){}
switch(i)
{case0:
System.out.println("
0"
case1:
1"
default:
default"
}
}switch中的i和定义的i,精度有改变
A、编译出错B、打印出“0”C、打印出“1”D、打印出“default”
三、改错题
判断下面的程序片断是否正确。
若有错,指出错在哪里并改正;
若正确,打“√”。
1、(max为整型变量)
if(max<
>
1)
g.drawString(“不等于1”,20,20);
2、for(floati=0.0;
i>
-10.0;
i-=1.0)
System.out.println(i);
3、voidtest(intx)
{
System.out.println(x);
returnx;
4、abstractfinalclassOurClasses{}
5、finalMAX_NUMBER;
MAX_NUMBER++;
6、classMyClass
{intvar=100;
staticintgetVar()
{
returnvar;
7、publicclassMyClass
{
intdata;
voidMyClass(intd)
{data=d;
8、publicclassMyMain
publicstaticvoidmain(Stringargs[])
{System.out.println(MyClass1.data);
classMyClass1
intdata=10;
9、classIamAbstract
finalintf;
doubled;
abstractvoidmethod();
10、classparent
privateintmine;
classchildextendsparent
intgetMine()
{returnmine;
11、classparent
intgetMine()
returnmine;
intmine;
{returnsuper.getMine;
12、classParent
{intfield;
classChildextendsParent
classUseChild
{staticintgetField(Childc)
{return(c.field);
publicclassMainClass
{Parentp=newParent();
System.out.println(UseChild.getField(p));
13、classAmIRight
intfield1=10;
abstractvoidmethod1();
14、classAmIWrong
intdata1,data2;
AmIWrong()
{data1=-1;
AmIWrong(intd)
{data2=d;
this();
15、interfaceMyInterface
voidmethod1();
abstractclassParentimplementsMyInterface
{}
16、interfaceMyInterface
classChildextendsParent
{
voidmethod1()
System.out.println(“Iamimplementednow!
”);
17、publicstaticvoidmain(Stringargs[])
try{
charch=(char)System.in.read();
...//其他语句
}
catch(Exceptione)
return;
catch(IOExceptione)
System.out.println(e.toString());
18、publicclassAmIWrongimplementsRunnable
Threadmt=Thread(this);
mt.start();
voidrun()
System.out.println(“Iamalivenow”);
19、classMyClass1
finalvoidmethod1()
{}
voidmethod1(inti)
20、说明以下程序是否有误,错在哪里,应如何改正。
publicclassMyAppletextendsApplet
LabelMyLabel;
publicvoidinit(Stringargs[])
MyLabel=newLabel(“Canyouseeme?
add(MyLabel);
21、说明下面程序是否有误,错在哪里,应如何改正。
importjava.applet.*;
importjava.awt.*;
publicclassAmIWrongextendsAppletimplementsActionListener
Buttonbtn;
publicvoidinit()
btn=newButton(“PushMe”);
add(btn);
publicvoidactionPerformed(ActionEvente)
(Button)e.getSource().setLabel(“Pushed!
22、intarray[10];
for(intj=0;
j<
array.length;
j++