计算机开放本科.docx
《计算机开放本科.docx》由会员分享,可在线阅读,更多相关《计算机开放本科.docx(20页珍藏版)》请在冰豆网上搜索。
![计算机开放本科.docx](https://file1.bdocx.com/fileroot1/2022-12/7/3c887fa3-0c3a-4335-b706-8be773e4d1e2/3c887fa3-0c3a-4335-b706-8be773e4d1e21.gif)
计算机开放本科
计算机开放本科
《Java语言与WWW技术》自检自测题
一、一、 判断题
1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4.类及其属性、方法可以同时有一个以上的修饰符来修饰。
5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点
6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
7.Final类中的属性和方法都必须被final修饰符修饰。
8.最终类不能派生子类,最终方法不能被覆盖。
9.子类要调用父类的方法,必须使用super关键字。
10.一个Java类可以有多个父类。
11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。
12.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
15.用“+”可以实现字符串的拼接,用-可以从一个字符串中去除一个字符子串。
16.使用方法length()可以获得字符串或数组的长度。
17.设String对象s=”Hello”,运行语句System.out.println(s.concat(“World!
”));后String对象s的内容为”Helloworld!
”,所以语句输出为
Helloworld!
18.创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。
19.所有的鼠标事件都由MouseListener监听接口的监听者来处理。
20.一个容器中可以混合使用多种布局策略。
21.Java中,并非每个事件类都只对应一个事件。
22.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
23.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
24.JavaApplet是由独立的解释器程序来运行的。
25.JavaApplet只能在图形界面下工作。
26.Java的字符类型采用的是ASCII编码。
27.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关
28.Applet是一种特殊的Panel,它是JavaApplet程序的最外层容器。
29.子类的域和方法的数目一定大于等于父类的域和方法的数目。
30.System类不能实例化,即不能创建System类的对象。
31.用户自定义的图形界面元素也可以响应用户的动作,具有交互功能
32.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
33.Vector类中的对象不能是简单数据类型。
34.Java中的String类的对象既可以是字符串常量,也可以是字符串变量。
35.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
二、二、 选择题
1、关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是()
A.A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.C.只能被该类自身所访问和修改
D.D. 只能被同一个包中的类访问
2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是()
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
4、下列关于修饰符混用的说法,错误的是()
A.A.abstract不能与final并列修饰同一个类
B.B.abstract类中不可以有private的成员
C.C.abstract方法必须在abstract类中
D.D. staic方法中能处理非static的属性
5、容器Panel和Applet缺省使用的布局编辑策略是()
A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout
6、以下标识符中哪项是不合法的()
A、A、BigMeaninglessNameB、$int
C、1stD、$1
7、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()
A、A、 publicstaticvoidmain()B、publicstaticvoidmain(String[]args)
C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])
8、执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的()
A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空
9、以下代码段执行后的输出结果为()
intx=3;inty=10;
System.out.println(y%x);
A、0B、1C、2D、3
10、以下哪个表达式是不合法的()
A、Stringx=”Hello”;inty=9;x+=y;
B、Stringx=”Hello”;inty=9;if(x==y){}
C、Stringx=”Hello”;inty=9;x=x+y;
D、Stringx=null;inty=(x!
=null)&&(x.length()>0)?
x.length:
0
11、编译运行以下程序后,关于输出结果的说明正确的是()
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println(“valueis“+((x>4)?
99.9:
9));
}
}
A、输出结果为:
valueis99.99B、输出结果为:
valueis9
C、输出结果为:
valueis9.0D、编译错误
12、以下声明合法的是()
A、defaultStrings;B、publicfinalstaticnativeintw()
C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()
13、关于以下application的说明,正确的是()
1.classStaticStuff
2.{
3.3. staticintx=10;
4.4. static{x+=5;}
5.5. publicstaticvoidmain(Stringargs[])
6.6. {
7.7. System.out.println(“x=”+x);
8.8. }
9.9. static{x/=3;}
10.10. }
A、A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、B、9行不能通过编译,因为只能有一个静态初始化器
C、C、编译通过,执行结果为:
x=5
D、D、编译通过,执行结果为:
x=3
14、关于以下程序代码的说明正确的是()
1.1.classHasStatic{
2.2.privatestaticintx=100;
3.3.publicstaticvoidmain(Stringargs[]){
4.4.HasStatichs1=newHasStatic();
5.5.hs1.x++;
6.6.HasStatichs2=newHasStatic();
7.7.hs2.x++;
8.8.hs1=newHasStatic();
9.9.hs1.x++;
10.10. HasStatic.x--;
11.11. System.out.println(“x=”+x);
12.12. }
13.13. }
A、A、5行不能通过编译,因为引用了私有静态变量
B、B、10行不能通过编译,因为x是私有静态变量
C、C、程序通过编译,输出结果为:
x=103
D、D、程序通过编译,输出结果为:
x=102
15、以下选项中循环结构合法的是()
A、A、while(inti<7)
{i++;
System.out.println(“iis“+i);
}
B、B、intj=3;
while(j)
{System.out.println(“jis“+j);
}
C、C、intj=0;
for(intk=0;j+k!
=10;j++,k++)
{System.out.println(“jis“+j+“kis”+k);
}
D、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是不合法的。
()
A、A、publicfloataMethod(floata,floatb,floatc){}
B、B、publicfloataMethod(floatc,floatd){}
C、C、publicintaMethod(inta,intb){}
D、D、 privatefloataMethod(inta,intb,intc){}
17、类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.4. }
5.5. publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行4是不合法的。
()
A、A、floataMethod(floata,floatb){}
B、B、publicintaMethod(inta,intb)throwsException{}
C、C、publicfloataMethod(floatp,floatq){}
D、D、 publicintaMethod(inta,intb)throwsIOException{}
18、关于以下程序段,正确的说法是()
1.Strings1=”abc”+”def”;
2.2. Strings2=newString(s1);
3.3. if(s1==s2)
4.4. System.out.println(“==succeeded”);
5.5. if(s1.equals(s2))
6.6. System.out.println(“.equals()succeeded”);
A、行4与行6都将执行B、行4执行,行6不执行
C、行6执行,行4不执行C、行4、行6都不执行
19、以下说法哪项是正确的()
1.classMyListener
2.extendsMouseAdapterimplementsMouseListener{
3.3. publicvoidmouseEntered(MouseEventmev)
4.4. {System.out.println("Mouseentered.");}
5.5. }
A、A、以上代码可通过编译
B、B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、C、不能通过编译,因为类头定义不能分行
D、D、 能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常
20、关于以下程序段的说法,正确的是()
1.classMyListenerimplements
2.2. ActionListener,ItemListener{
3.3. publicvoidactionPerformed(ActionEventae){
4.4. System.out.println("Action");}
5.5. publicvoiditemStateChanged(ItemEventie){
6.6. System.out.println("Item");
7.7. }
8.}
A、A、可通过编译
B、B、第2行产生编译错误
C、C、第3行产生编译错误
D、D、 第5行产生编译错误
21、通过调用newList(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。
()
A、该列表不支持复选B、该列表有10个选项
C、根据需要该列表可能有垂直滚动条D、该列表支持10个可见选项
22、以下哪项可能包含菜单条()
A、PanelB、FrameC、AppletD、Dialog
23、以下代码完成画线功能,指出所画线的颜色()
1.g.setColor(Color.red.green.yello.cyan);
2.g.drawLine(0,0,100,100);
A、redB、greenC、yelloD、cyan
24、关于以下代码所画图形的说明,正确的是()
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、A、一条40像素长的垂直红线,一个边长为150像素的红色四方形
B、B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形
C、C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形
D、D、 一条50像素长的垂直红线,一个边长为150像素的红色四方形
三、三、 改错题
判断下面的程序片断是否正确。
若有错,指出错在哪里并改正;若正确,打“√”。
1、classMyClass
{intvar=100;
staticintgetVar()
{
returnvar;
}
}
2、publicclassMyClass
{
intdata;
voidMyClass(intd)
{data=d;}
}
3、publicclassMyMain
{
publicstaticvoidmain(Stringargs[])
{System.out.println(MyClass1.data);}
}
classMyClass1
{
intdata=10;
}
4、classIamAbstract
{
finalintf;
doubled;
abstractvoidmethod();
}
5、classparent
{
privateintmine;
}
classchildextendsparent
{
intgetMine()
{returnmine;}
}
6、classparent
{
privateintmine;
intgetMine()
{
returnmine;
}
}
classchildextendsparent
{
intmine;
intgetMine()
{returnsuper.getMine;}
}
7、classAmIWrong
{
intdata1,data2;
AmIWrong()
{data1=-1;}
AmIWrong(intd)
{data2=d;
this();
}
}
8、interfaceMyInterface
{
voidmethod1();
}
abstractclassParentimplementsMyInterface
{
}
classChildextendsParent
{
voidmethod1()
{
System.out.println(“Iamimplementednow!
”);
}
}
9、publicstaticvoidmain(Stringargs[])
{
try{
charch=(char)System.in.read();
...//其他语句
}
catch(Exceptione)
{
return;
}
catch(IOExceptione)
{
System.out.println(e.toString());
}
}
10、publicclassAmIWrongimplementsRunnable
{
Threadmt=Thread(this);
mt.start();
voidrun()
{
System.out.println(“Iamalivenow”);
}
}
四、程序阅读
1、阅读以下程序,输出结果为。
classQ1{
publicstaticvoidmain(Stringargs[]){
doubled=1.23;
Decdec=newDec();
dec.decrement(d);
System.out.println(d);
}
classsDec{
publicvoiddecrement(doubledecMe){
decMe=decMe-0.1;
}
}
2、以下程序的输出结果为。
publicclassShort{
publicstaticvoidmain(Stringargs[]){
StringBuffers=newStringBuffer(“Hello”);
if((s.length()>5)&&(s.append(“there”).equals(“False”)))
;
System.out.println(“valueis”+s);
}
}
3、以下程序段的输出结果为。
intx=0,y=4,z=5;
if(x>2){
if(y<5){
System.out.println(“Messageone”);
}
else{
System.out.println(“Messagetwo”);
}
}
elseif(z>5){
System.out.println(“Messagethree”);
}
else{
System.out.println(“Messagefour”);
}
4、以下程序段的输出结果为。
intj=2;
switch(j){
case2:
System.out.print(“Valueistwo.”);
case2+1:
System.out.println(“Valueisthree.”);
break;
default:
System.out.println(“valueis“+j);
break;
}
5、5¡¢ 阅读以下程序段:
classParent
{
voidprintMe()
{
System.out.println(“parent”);
}
}
classChildextendsParent
{
voidprintMe()
{
System.out.println(“child”);
}
voidprintAll()
{
super.printMe();
this.printMe();
printMe();
}
}
publicclassTest_this
{
publicstaticvoid