JAVA程序设计复习题.docx
《JAVA程序设计复习题.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计复习题.docx(21页珍藏版)》请在冰豆网上搜索。
![JAVA程序设计复习题.docx](https://file1.bdocx.com/fileroot1/2023-3/28/8a81bebb-3951-492e-bdc5-6c7455f6880a/8a81bebb-3951-492e-bdc5-6c7455f6880a1.gif)
JAVA程序设计复习题
JAVA程序设计复习题
一、单项选择题
1.在基于UDP的通信方式下,实现接收数据包的类是
A.Socket类B.ServerSocket类C.DatagramPacket类D.DatagramSocket类
2.下面哪些是java语言中的关键字?
A.sizeofB.abstractC.NULLD.Native
3.paint()方法使用的参数是
A.GraphicsB.Graphics2DC.StringD.Color
4.下面语句哪个是正确的?
A.char='abc';B.longl=oxfff;C.floatf=0.23;D.double=0.7E-3;
5.方法的重载必须满足的条件是:
A.参数的个数不同,或者是参数的类型不同B.参数的顺序不同
C.方法的名字不同D.返回类型不同
6.Object类所属的包是
A.包java.utilB.包java.langC.包java.systemD.包java.Object
7.通过建立Dialog的子类来建立一个
A.文本框类B.列表类C.文件对话框类D.对话框类
8.创建新线程对象之后,进入线程的生命周期的
A.新建B.中断C.运行D.死亡
9.有关类Demo,哪句描述是正确的?
publicclassDemoextendsBase{
privateintcount;
publicDemo(){
System.out.println("ADemoobjecthasbeencreated");
}
protectedvoidaddOne(){count++;}
}
A.当创建一个Demo类的实例对象时,count的值为0。
B.当创建一个Demo类的实例对象时,count的值是不确定的。
C.超类对象中可以包含改变count值的方法。
D.Demo的子类对象可以访问count。
10.Frame类是Container类的间接子类,可使用Frame
A.创建一个菜单对象B.创建一个窗口对象
C.创建一个对话框对象D.创建一个文件对象
11.所有输出流都是.
A.OutputStream或Writer的子类B.OutputStream的子类
C.Writer的子类D.Output的子类
12.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?
A.publicB.privateC.protectedD.transient
13.可以对对象加互斥锁的关键字是
A.transientB.synchronizedC.serializeD.static
14.在使用interface声明一个接口时,可使用的修饰符是
A.privateB.protectedC.private protectedD.public
15.下面哪种注释方法能够支持javadoc命令:
A./**...**/B./*...*/C.//D./**...*/
16.要从文件"file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?
A.FileInputStreamin=newFileInputStream("file.dat");
in.skip(9);intc=in.read();
B.FileInputStreamin=newFileInputStream("file.dat");
in.skip(10);intc=in.read();
C.FileInputStreamin=newFileInputStream("file.dat");
intc=in.read();
D.RandomAccessFilein=newRandomAccessFile("file.dat");
in.skip(9);intc=in.readByte();
17.请问所有的例外类皆继承哪一个类?
A.java.io.ExceptionB.java.lang.Throwable
C.java.lang.ExceptionD.java.lang.Error
18.要观察一个字符在unicode表中的顺序位置,显式转换时必须使用的数据类型是
A.booleanB.int类型C.charD.unicode
19.只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法,应采用的修饰符是:
A.staticB.privateC.protectedD.public
20.下面程序段的执行结果是什么?
publicclassFoo{
publicstaticvoidmain(String[]args){
try{
return;}
finally{System.out.println("Finally");
}
}
}
A.程序正常运行,但不输出任何结果。
B.程序正常运行,并输出"Finally"。
C.编译能通过,但运行时会出现一个例外。
D.因为没有catch语句块,所以不能通过编译。
21.编译Java Application源程序文件产生的字节码文件的扩展名为( )。
A.javaB.classC.htmlD.exe
22.java.awt包的类Panel是用来建立
A.多行文本B.标签C.面板D.文本框
23.GridLayout对应的布局将容器中的组件按照
A.将容器的空间分为东、西、南、北、中五个区域,中间的区域最大
B.加入的先后顺序从左向右排列
C.划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中
D.由用户定制
24.下列哪个是合法的Java标识符?
A.&2B.123.9C._2#D.public
25.设有下面两个类的定义:
class Person{long id; //身份证号
String name; //姓名}
classStudent extends Person{int score; //入学总分
int getScore(){return score;}}
问:
类Person和类Student的关系是?
A.包含关系B.继承关系C.关联关系D.无关系,上述类定义有语法错误
26.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A.privateB.protectedC.private protectedD.public
27.在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if–elseB.switchC.tryD.throw
28.下列描述正确的是:
A.多态性就是指子类的某个方法被其父类重写时,可以各自产生自己的功能行为。
B.多态性就是指子类的某个方法被其父类重写时,不能各自产生自己的功能行为。
C.多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。
D.以上都不对
29.Date类属于
A.java.time包B.java.util包C.java.tool包D.java.system包
30.请问所有的例外类皆继承哪一个类?
A.java.io.ExceptionB.java.lang.Throwable
C.java.lang.ExceptionD.java.lang.Error
31.paint()方法使用哪种类型的参数?
A.GraphicsB.Graphics2DC.StringD.Color
32.指出正确的表达式
A.byte=128;B.Boolean=null;C.longl=0xfffL;D.double=0.9239d;
33.运行JavaApplet的工具是:
A.javacB.javaC.javadocD.浏览器
34.创建文本区的监视器的类必须要实现的接口是
A.ItemListenerB.ChoiceListenerC.TextListenerD.ActionListener
35.类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制()?
A.publicB.defaultC.protectedD.private
36.当编译和运行下列程序段时,会发生什么?
classBase{}
classSubextendsBase{}
classSub2extendsBase{}
publicclassCEx{
publicstaticvoidmain(Stringargv[]){
Baseb=newBase();
Subs=(Sub)b;
}
}
A.通过编译和并正常运行。
B.编译时出现例外。
C.编译通过,运行时出现例外。
37.下面语句段的输出结果是什么?
inti=9;
switch(i){
default:
System.out.println("default");
case0:
System.out.println("zero");
break;
case1:
System.out.println("one");
case2:
System.out.println("two");}
A.defaultB.default,zero
C.errordefaultclausenotdefinedD.nooutputdisplayed
38.以下程序测试String类的各种构造方法,试选出其运行效果。
classSTR{
publicstaticvoidmain(Stringargs[]){
Strings1=newString();
Strings2=newString("String2");
charchars[]={'a','','s','t','r','i','n','g'};
Strings3=newString(chars);
Strings4=newString(chars,2,6);
bytebytes[]={0,1,2,3,4,5,6,7,8,9};
StringBuffersb=newStringBuffer(s3);
Strings5=newString(sb);
System.out.println("TheStringNo.1is"+s1);
System.out.println("TheStringNo.2is"+s2);
System.out.println("TheStringNo.3is"+s3);
System.out.println("TheStringNo.4is"+s4);
System.out.println("TheStringNo.5is"+s5);
}
}
A.TheStringNo.1is
TheStringNo.2isString2
TheStringNo.3isastring
TheStringNo.4isstring
TheStringNo.5isastring
B.TheStringNo.1is
TheStringNo.2isString2
TheStringNo.3isastring
TheStringNo.4istring
TheStringNo.5isastring
C.TheStringNo.1is
TheStringNo.2isString2
TheStringNo.3isastring
TheStringNo.4isstrin
TheStringNo.5isastring
D.以上都不对
39.下面的哪个选项是正确的?
classExSuper{
Stringname;
Stringnick_name;
publicExSuper(Strings,Stringt){
name=s;
nick_name=t;
}
publicStringtoString(){
returnname;
}
}
publicclassExampleextendsExSuper{
publicExample(Strings,Stringt){
super(s,t);
}
publicStringtoString(){
returnname+"a.k.a"+nick_name;
}
publicstaticvoidmain(Stringargs[]){
ExSupera=newExSuper("First","1st");
ExSuperb=newExample("Second","2nd");
System.out.println("ais"+a.toString());
System.out.println("bis"+b.toString());
}
}
A.编译时会出现例外。
B.运行结果为:
aisFirst
bissecond
C.运行结果为:
aisFirst
bisSeconga.k.a2nd
D.运行结果为:
aisFirsta.k.a1nd
bisSeconda.k.a2nd
40.运行下列程序的结果是哪个?
abstractclassMineBase{
abstractvoidamethod();
staticinti;
}
publicclassMineextendsMineBase
{
publicstaticvoidmain(Stringargv[]){
int[]ar=newint[5];
for(i=0;i System.out.println(ar[i]);
}
}
A.打印5个0。
B.编译出错,数组ar[]必须初始化。
C.编译出错,Mine应声明为abstract。
D.出现IndexOutOfBoundes的例外。
二、填空题
1.JSP是()的缩写
2.switch语句中表达式的值必须是()或字符型
3.当一个方法不需要返回数据时,返回类型必须是()。
4.如果局部变量的名字与成员变量的名字相同,则()变量被隐藏
5.创建一个对象包括对象的声明和()两个步骤.
6.使用关键字()来定义逻辑变量
7.类中变量定义部分所定义的变量被称为()。
8.类的实现包括()和类体.
9.Java称由Component类的子类或间接子类创建的对象为一个().
10.JavaApplet必须由()来运行
11.通过使用运算符(),对象可以实现对自己的变量访问和方法的调用.
12.成员变量又分为实例变量和类变量,用static修饰的变量是()
13.对于abstract方法,只允许(),不允许实现。
14.abstract类不能用new运算创建对象,必须()
15.使用new运算符和()为声明的对象分配内存
16.分析下面一段程序:
classAclass
{
voidgo(){System.out.println("Aclass"); }
}
publicclassBclassextendsAclass
{
voidgo(){System.out.println("Bclass");}
publicstaticvoidmain(Stringargs[])
{
Aclassa=newAclass();
Aclassa1=newBclass();
a.go();
a1.go();
}
}
程序运行结果是:
()
17.指出下列程序的运行结果
publicclassA1
{
publicstaticvoidmain(Stringargs[])
{
inti=9;
switch(i)
{
default:
System.out.println("default");
case0:
System.out.println("zero");break;
case1:
System.out.println("one");
case2:
System.out.println("two");
}
}
}
程序运行结果是:
()
18.下面程序段的执行结果是什么?
publicclassFoo
{
publicstaticvoidmain(String[]args)
{
try{return;}
finally{System.out.println("Finally");}
}
}
程序运行结果是:
19.继承是一种由已有的类创建新类的机制.由继承而得到的类称为子类,被继承的类称为()。
20.如果一个方法被修饰为final方法,则这个方法不能被()。
21.通过修饰符private,protected和()来说明变量和方法的使用权限.
22.指出下列程序运行的结果
publicclassExample
{
Stringstr=newString("good");
char[]ch={'a','b','c'};
publicstaticvoidmain(Stringargs[])
{
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}
publicvoidchange(Stringstr,charch[])
{
str="testok";
ch[0]='g';
}
}
程序运行结果是:
23.下列代码哪几行会出错:
1)publicclassModify
2){
3)publicstaticvoidmain(Stringargs[])
4){
5)intI,j,k;
6)I=100;
7)while(I>0)
8){
9)j=I*2;
10)System.out.println("Thevalueofjis"+j);
11)k=k+1;
12)I--;
13)}
14)}
15)}
24.调用remove(Componentc)方法可以()容器中参数指定的组件.
25.访问限制修饰符,按访问权限从高到低的排列顺序是public,(),友好的,private.
三、阅读程序或程序片断,写出运行结果
1.
classExSuper{
Stringname;
Stringnick_name;
publicExSuper(Strings,Stringt){
name=s;
nick_name=t;
}
publicStringtoString(){
returnname;
}
}
publicclassExampleextendsExSuper{
publicExample(Strings,Stringt){
super(s,t);
}
publicStringtoString(){
returnname+"a.k.a"+nick_name;
}
publicstaticvoidmain(Stringargs[]){
ExSupera=newExSuper("First","1st");
ExSuperb=newExample("Second","2nd");
System.out.println("ais"+a.toString());
System.out.println("bis"+b.toString());
}
}
2.
classOuter1{
privateinta;
voidfoo(doubled,finalfloatf){
Strings;
finalbooleanb;
classInner{
voidmethodInner(){
System.out.println("intheInner");
}
}
}
publicstaticvoidmain(Stringargs[])
{
Outer1me=newOuter1();
me.foo(123,123);
System.out.println("outer");
}
}
3.
classPassRef
{intx;
publicstaticvoidmain(String[]args)
{PassRefobj=newPassRef();obj.x=5;change(obj);
System.out.println(obj.x);}
publicst