java复习题 3.docx
《java复习题 3.docx》由会员分享,可在线阅读,更多相关《java复习题 3.docx(21页珍藏版)》请在冰点文库上搜索。
java复习题3
一选择题
1、下面哪些语句含有语法错误?
B
A、int[]c[]=newint[5][5];B、int[][]d=newint[5,5];
C、inta[][]=newint[5][5];D、int[][]b=newint[5][5];
2、下面哪些语句会发生编译错误?
D
A、int[]a;B、intd[]=null;
C、int[]b=newint[10];D、intc[]=newint[];
3、下列的哪个赋值语句是不正确的?
B
A、float d=3.14f;B、floatf=11.1;
C、doubled=5.3E12;D、double f=11.1E10f;
4、下列属于JAVA关键词的是(B.C)
A)TRUEB)floatC)gotoD)NULL
5、在java中语句:
37.2%10的运算结果为(A)
A)7.2B)7C)3D0.2
6、以下数组定义,错误的是(C)
A)intb[5]B)intb[]={1,2,3,4,5}
C)intb[]=newint[10]D)intb[];b=newint[10]
7、在java中,字符串由java.lang.StringBuffer和(B)定义
A)java.lang.StringChar
B)java.lang.String
C)java.io.StringChar
D)java.io.String
8、下面程序定义了一个类,关于该类说法正确的是(B)
abstractclassabstractClass{……}
A)该类能调用newabstractClass(),方法实例化为一个对象
B)该类不能被继承
C)该类的方法都不能被重载
D)以上说法都不对
9、下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?
B
A、privateB、无修饰符
C、publicD、protected
10、给出下列代码,如何使成员变量m被方法fun(D)直接访问?
classTest
{
privateintm;
publicstaticvoidfun()
{
...
}
}
A、将privateintm改为protectedintm
B、将privateintm改为intm
C、将privateintm改为publicintm
D、将privateintm改为staticintm
11、下面那个不是Java的关键字:
(C)
A、gotoB、nullC、TRUED、ifE、const
12、下面哪个是byte类型的值的范围:
(C)
A、0-128B、0~127C、-128-127D、-128-0
13、Java语言在语言类型上应该属于那种类型的语言:
(A)
A、编译型的语言B、解释型的语言
C、脚本型的解释语言D、编译链接型的语言
14、给出下面的代码:
if(x>0){System.out.println("first");}
elseif(x>-3){System.out.println("second");}
else{System.out.println("third");}
当x在什么范围内,会输出:
second:
(D)
A、x>0B、x>-3
C、x<=-3D、x<=0&&x>-3
15、下列关于注释语句的描述中,正确的一项是 (C)
下列关于注释语句的描述中,正确的一项是
A、以//开始的是多行注释语句
B、以/*开始,*/结束的是单行注释
C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句
D、以/**开始,*/结束的是单行注释语句
16、下列关于继承的哪项叙述是正确的?
A.D
A、在java中允许多重继承
B、在java中一个类只能实现一个接口
C、在java中一个类不能同时继承一个类和实现一个接口
D、java的单一继承使代码更可靠
17、给出下列代码,则数组初始化中哪项是不正确的?
A
byte[]array1,array2[];
bytearray3[][];
byte[][]array4;
A、array2=array1
B、array2=array3
C、array2=array4
D、array3=array4
18、下列Java常见事件类中哪个是鼠标事件类?
B
A、InputEvent
B、MouseEvent
C、KeyEvent
D、WindowEvent
19、(C)类是所有异常类的父类。
A)ThrowableB)ErrorC)ExceptionD)AWTError
20、对话框(JDialog)的缺省布局管理器就是(A)
A)流程布局(FlowLayout)B)卡布局(CardLayout)
C)边框布局(BorderLayout)D)网格布局(GridLayout)
21、线程调用了start()方法后,该线程将进入(B)状态。
A)死亡状态B)运行状态C)阻塞状态D)终止状态
22、下列属于文件输入输出类的是(A)
A)FileInputStream和FileOutputStream
B)BufferInputStream和BufferOutputStream
C)PipedInputStream和PipedOutputStream
D)以上都是
23、Java中,JDBC是指(A)
A)Java程序与数据库连接的一种机制
B)Java程序与浏览器交互的一种机制
C)Java类库名称
D)Java类编译程序
24、下列方法中哪个是执行线程的方法?
A
A、run()
B、start()
C、sleep()
D、suspend()
25、顺序执行下列程序语句后,则b的值是C
Stringa="Hello";
Stringb=a.substring(0,2);
A、HelloB、llo
C、HelD、null
26、某类的成员方法只能被自己调用,声明该函数恰当修饰符是:
(B)
A、publicB、privateC、protectedD、default
27、关于垃圾收集的哪些叙述是对的:
(B)
A、程序开发者必须自己创建一个线程进行内存释放的工作。
B、垃圾收集将定期检查并释放不再使用的内存。
C、垃圾收集允许程序开发者明确指定并立即释放该内存。
D、垃圾收集能够在期望的时间释放被java对象使用的内存。
28、某java程序的类定义如下:
publicclassMyProextendsBaseClass{}
则该java源文件在存盘时的源文件名应为如下那一种(B)
A、mypro.javaB、MyPro.java
C、MYPRO.javaD、MyClass.class
29、某类的成员方法只能被自己和儿子调用,声明该函数恰当修饰符是:
(C)
A)publicB)privateC)protectedD)default
30、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为(C)
A)隐藏B)覆盖C)重载D)封装
31、MyClass类定义如下:
classMyClass{
publicMyClass(intx){}
}
调用其中构造方法创建对象,如下方式哪个是正确的:
(C)
A)MyClassmyobj=newMyClass;B)MyClassmyobj=newMyClass();
C)Myclassmyobj=newMyClass
(1);D)MyClassmyobj=newMyClass(1,2);
32、在类的说明符中,被指定为私有的数据可以被(C) 访问。
A)程序中的任何函数B)其他类的成员函数
C)类中的成员函数D)生类中的成员函数
33、Java语言在语言类型上应该属于那种类型的语言:
(A)
A)编译型的语言B)解释型的语言
C)脚本型的解释语言D)编译链接型的语言
34、关于垃圾收集的哪些叙述是对的:
(B)
A)程序开发者必须自己创建一个线程进行内存释放的工作。
B)垃圾收集将定期检查并释放不再使用的内存。
C)垃圾收集允许程序开发者明确指定并立即释放该内存。
D)垃圾收集能够在期望的时间释放被java对象使用的内存。
35、下列各种java中的构造函数定义,那些是错误的:
(C)
A、classMyClass{
publicMyClass(){}
}
B、classMyClass{
publicMyClass(intx){}
}
C、classMyClass{
publicintMyClass(){}
}
D、classMyClass{
publicMyClass(intx,inty){}
}
36、Point类的定义:
classPoint{
privateintx,y;
publicPoint(intx,inty){
this.x=x;
this.y=y;
}
}
其中的this代表:
(C)
A、类名PointB、父类的对象
C、Point类的当前对象D、this指针
37、实现一个继承接品java.lang.Runnable的类需要实现如下的哪些方法?
B
A、startB、run
C、waitD、paint
38、在Java语言中,下面哪个布局管理器是Japplet的默认布局管理器A
A、BorderLayoutB、CardLayout
C、GridLayoutD、FlowLayout
39、给定如下代码:
C
classPerson{
Stringname,department;
intage;
publicPerson(Stringn){name=n;}
publicPerson(Stringn,inta){name=n;age=a;}
publicPerson(Stringn,Stringd,inta){
department=d;
}
}
要在第三个构造函数的空白处填上一行代码使之能够调用第二个构造函数,这行代码应
该是?
A、Person(n,a);B、this(Person(n,a));
C、this(n,a);D、this(name,age).
40、以下关于构造函数的描述错误的是 (A)
A)构造函数的返回类型只能是void型。
B)构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C)构造函数的主要作用是完成对类的对象的初始化工作。
D)一般在创建新对象时,系统会自动调用构造函数
41、下面哪个是byte类型的值的范围:
(C)
A)0-128B)0~127C)-128-127D)-128-0
42、在Java中,关于final关键字的说法正确的是(A)
A)如果修饰变量,则一旦赋了值,就等同一个常量
B)如果修饰类,则该类只能被一个子类继承
C)如果修饰方法,则该方法能在子类中被覆盖
D)如果修饰方法,则该方法所在的类不能被继承
43、下列代码中,将引起编译错误的行是(B)
1)public class Exercise{
2) public static void main(String args[]){
3) float f=0.0;
4) f +=1.0;
5) }
6)}
A)第2行 B)第3行 C)第4行 D)第6行
44、给定下列代码:
D
publicvoidtest(){
try{oneMethod();
System.out.println("condition1");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("condition2");
}catch(Exceptione){
System.out.println("condition3");
}finally{
System.out.println("finally");
}
}
在方法oneMethod()运行正常的情况下棋结果应该是?
A.D
A、condition1B、condition2
C、condition3D、finally
45、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为 (C)
A、隐藏 B、覆盖 C、重载 D、封装
46、以下关于构造函数的描述错误的是 (A)
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数
47、给定下列代码:
1classParent{
2privateStringname;
3publicParent(){}
4}
5publicclassChildextendsParent{
6privateStringdepartment;
7publicChild(){}
8publicStringgetValue(){returnname;}
9publicstaticvoidmain(Stringarg[]){
10Parentp=newParent();
11}
12}
上述代码的那些行将会导致错误:
(D)
A、line3B、line6C、line7
D、line8E、line10
48、MyClass类定义如下:
classMyClass{
publicMyClass(intx){}
}
调用其中构造方法创建对象,如下方式哪个是正确的:
(C)
A、MyClassmyobj=newMyClass;B、MyClassmyobj=newMyClass();
C、Myclassmyobj=newMyClass
(1);D、MyClassmyobj=newMyClass(1,2);
49、在类的说明符中,被指定为私有的数据可以被(C) 访问。
A、程序中的任何函数
B、其他类的成员函数
C、类中的成员函数
D、派生类中的成员函数
50、使用哪一个布局管理器时,当Frame的大小被改变时Frame中的按钮的位置可能会被改
变?
B
A、BorderLayoutB、FlowLayout
C、CardLayoutD.GridLayout
51、InetAddress类不能用来?
D
A、判断是否是一个IP多点传送地址。
B、得到IP地址的主机名
C、得到InetAddress对象的地址
D、得到IP地址对应的MAC地址
52、关于static关键字,以下说法正确的是:
B
A、static只能修饰变量,不能修饰方法
B、static修饰的变量可以由类直接引用
C、static修饰的变量只能由类引用,不能由对象直接引用。
D、多个同类的对象,对static修饰的变量进行的修改时互不影响的。
53、对Java描述不正确的是:
C
A、Java和C都是高级语言,Java是面向对象的语言,而C是面向过程的语言。
B、封装,继承。
多态是Java的基本特征。
C、Java中有列表,类似于指针,因此Java中仍然可以用指针。
D、Java的构造方法,不同于Java的普通成员方法,构造方法是在用new关键字创建对象时,自动调用的。
54、以下说法正确的是:
()D
A、如果同名方法,其参数的返回类型不同可以构成重载。
B、同一个类中,可以存在方法首部完全一样的方法,这叫重写。
C、构造方法可以被任意方法调用。
D、构造方法可以构成重载,所有构造方法都不能由返回类型,但可以对方法加修饰符。
55、以下说法不正确的是()C
A、子类对象可以直接赋值给父类对象。
B、父类对象不能赋值给子类对象,需要强制类型转换,转换后程序可以通过编译,但有运行错误。
C、抽象类中一定有抽象方法,抽象类不能创建实例。
D、有抽象方法的类一定是抽象类。
56、一个栈的输入序列为123,则下列序列中不可能是栈的输出序列的是(C)
A.231B.321
C.312D.123
57、栈和队列的共同特点是(A)。
A、只允许在端点处插入和删除元素
B、都是先进后出
C、都是先进先出
D、没有共同点
58、下数据结构中哪一个是非线性结构?
(D)
A、队列 B、栈C、线性表 D、二叉树
59、面程序段
for(i=1;i<=n;i++)for(j=1;j<=i;j++)x=x+1;算法的时间复杂度为(B)。
A、O(n)B、O(n2)
C、O(n*i)D、O(n+i)
60、一个线性表,如果第一个元素的地址是100,每个元素的长度为2,则第5个元素的地址为(A)
A、108B、110C、106D、112
61、设一个栈的入栈序列是ABCD,则借助于一个栈所得到的出栈序列不可能是(D)。
A.ABCDB.DCBAC.ACDBD.DABC
62、以下数据结构中哪一个不是线性结构?
(A)。
A.图B.队列C.栈D.线性表
63、线性表可以在以下哪个位置进行插入删除?
(B)
A.开始位置B.尾部C、中间位置D、任意位置均可
64、队列是一种(A)的线性表。
A.先进先出B.先进后出C.只能插入D.只能删除
65、线性结构的链式存储结构中,地址是(B)
A、连续B、不连续C、可能连续,也可能不连续D、和顺序存储一样
二问答题
1、什么是构造函数?
构造函数的作用是什么?
构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.构造函数具有一些特殊的性质
构造函数的作用是一种特殊的方法,主要用来在创建对象时初始化对象,即为对象成员变量赋值。
2、类的继承中,子类和父类的关系
共享性:
即子类可以共享父类的公共属性和方法。
差异性:
即子类和父类一定会存在某些差异,否则就应
父类、子类之间的对照关系该是通一个类。
层次性:
即由Java规定的单继承性,每个类都处于继承关系树种的某一个层面。
Java要求生命的每个类都有父类,当没有现实指定父类时,父类隐含为java.lang包中的Object类。
一个父类可以同时拥有多个子类,这时这个父类实际上是所有子类的公共属性和方法的集合,而每个子类则是父类的特殊化,是在公共属性的基础上的功能扩展。
Java不支持类的多重继承,只支持类的单继承,即每个子类只能有一个直接父类,类的层次为树状结构,Object类为树的根节结点。
3、this和super的作用是什么?
成员函数中定义了和成员变量中相同的变量时,引用成员变量要用this.
构造函数中调用同一个类的其他构造函数时用this
子类中覆盖了父类成员变量或成员函数时,在子类中调用父类的变量或函数要用super
子类的构造函数里调用直接父类的构造函数用super,不能用于调用间接父类的构造函数。
三、填空题
1、在一个Java源程序文件中,公共类可以有多个(填一个或多个),其主类名若为Test,则该文件的文件名为Test.java。
2、Java语言中的class 是程序的基本单位。
3、java程序引入接口的概念,是为了弥补只允许类的___单重继承_的缺憾。
接口采用关键字interface来定义
6、Java中类成员的限定词有以下几种:
private,public,__extends_,impiements(多态)。
7、main方法的声明格式包括__publicstaticvoidmain(String[]args)____。
8、根据程序的构成和运行环境的不同,Java程序分为两大类:
JavaApplication(Java应用程序)_程序和__JavaApplet(Java小程序)
_程序。
10、在java语言中,boolean型常量只有true和__false两个值。
9、Java的字符类型采用的是Unicode编码。
11、一个JavaApplication源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序并使用其虚拟机执行这个程序的字节码文件,应该顺序执行如下两命令:
_javacMyJavaApplication.java和javaMyJavaApplication。
12、Java语言中的类 是程序的基本单位。
13、队列的插入操作是在队列的_后端进行,删除操作是在队列的____前端_____进行。
14、abstract方法__不能_____(不能或能)与final并列修饰同一个类
15、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally语句捕获并处理
16、_GridLayout布局管理器是容器中各个构件呈网格布局,平均占据容器空间。
17、请写出下面程序的运行结果。
publicclassTestextendsTT{
publicvoidmain(Stringargs[]){
Testt=newTest("Tom");
System.out.println("Programisend!
");
}
publicTest(Strings){
super(s);
System.out.println("Howdo