JAVA复习题上课讲义.docx
《JAVA复习题上课讲义.docx》由会员分享,可在线阅读,更多相关《JAVA复习题上课讲义.docx(28页珍藏版)》请在冰点文库上搜索。
JAVA复习题上课讲义
JAVA复习题
1、Java源文件和编译后的文件扩展名分别为(b)
A、.class和.javaB、.java和.classC、.class和.classD、.java和.java
2、Java语言不是()
A、高级语言B、编译型语言
C、结构化设计语言D、面向对象设计语言
3、Jcreator是()
A、一种全新的程序语言B、一种java程序开发辅助工具
C、一种由Java写成的浏览器D、一种游戏软件
4、Java语言中创建一个对象使用的关键字为()
A、classB、interfaceC、newD、create
5、对于可以独立运行的Java应用程序,下列()说法是正确的。
A、无须main方法B、必须有两个main方法
C、可以有多个或零个main方法D、必须有一个main方法
6、设x=5则y=x--和y=--x的结果,使y分别为()
A、5,5B、5,6C、5,4D、4,4
7、for(;;)是()
A、循环结构B、分支结构C、顺序结构
8、布尔型变量真值表示为()
A、trueB、falseC、tD、f
9、下面哪种不是Java的数据类型()
A、基本类型B、数组类型C、类D、界面类型
10、用abstract定义的类()
A、可以被实例化B、不能派生子类
C、不能被继承D、只能被继承
11、设有对象x具有属性a则访问该属性的方法为()
A、a.xB、a.x()C、x.aD、x.a()
12、设数组Array由以下语句定义
intage=newint[10];
则数组的第一个元素的正确引用方法为()
A、age[1]B、Age[0]C、age[]D、age[0]
13、continue语句()
A、只中断最内层的循环B、只中断最外层的循环
C、只中断所在层循环中的当次循环D、只中断某一层的循环
14、以public修饰的类如:
publicclassCar{…}则Car()
A、可被其它程序包中的类使用B、仅能被本程序包中的类使用
C、不能被任意其它类使用D、不能被其它类继承
15、一个URL地址为:
:
80/local/index.html,则其中http的含义为()
A、通信协议B、参考点C、机器名称D、通信端口
1.关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是
A、可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的
子类
B、可以被种类访问和引用:
该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
2.在Java中,用package语句说明一个包时,该包的层次结构必须是____。
A、与文件的结构相同
B、与文件目录的层次相同
C、与文件类型相同
D、与文件大小相同
3.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是____。
A、java.applet
B、java.awt
C、java.util
D、java.lang
4.下列叙述中,错误的是
A、接口与类的层次无关
B、通过接口说明类所实现的方法
C、通过接口可了解对象的交互界面
D、接口与存储空间有关
5.在Java中,能实现多重继承效果的方式是____。
A、内部类
B、适配器
C、接口
D、同步
6.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型
或顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为
A、隐藏
B、覆盖
C、重载
D、Java不支持此特性
7.在使用interface声明一个接口时,只可以使用____修饰符修饰该接口。
A、private
B、protected
C、privateprotected
D、public
8.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()
A、publicB、privateC、staticD、final
9.下列哪个类声明是正确的()
AabstractfinalclassH1{…}
Babstractprivatemove(){…}
Cprotectedprivatenumber;
DpublicabstractclassCar{…}
10.下面是关于类及其修饰符的一些描述,不正确的是
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
11.关于私有访问控制符protected修饰的成员变量,以下说法正确的是
A、可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被种类访问和引用:
该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
12.方法重载是指()
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同
13.对于构造方法,下列叙述不正确的是
A、构造方法是类的一种特殊方法,它的方法名必须与类名相同。
B、构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀。
C、构造方法的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造方法。
14.不使用static修饰符限定的方法称为成员方法,下列哪一个说法是不正确的?
A、成员方法可以直接调用父类的成员方法
B、成员方法可以直接调用父类的类方法
C、成员方法不可以直接调用其他类的成员方法
D、成员方法可以直接调用本类的类方法
15.关于以下程序代码的说法正确的是
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
16.下面对形参的说法,哪个是正确的?
A、必须有多个
B、至少有一个
C、可以没有
D、只能是简单变量
17.构造方法何时被调用?
A、类定义时
B、创建对象时
C、调用对象方法时
D、使用对象的变量时
18.____是不能被当前类的子类重新定义的方法。
A、抽象方法
B、私有方法
C、最终方法
D、构造方法
29.下列对继承的说法,哪个是正确的?
A、子类能继承父类的所有方法和状态
B、子类能继承父类的非私有方法和状态
C、子类只能继承父类public方法和状态
D、子类只能继承父类的方法,而不继承状态
20.下列关于构造方法的说法正确的是
A、因为构造方法名与类名必须相同,所以构造方法的首字母必须大写。
B、构造方法是给对象赋初值,所以没有返回值,要用void来声明。
C、构造方法不能被程序调用,也不可以重载。
D、一个类只允许有一个构造方法。
21.若要把变量声名为暂时性变量,应使用如下哪种修饰符?
A、protected
B、provate
C、transient
D、volatile
22.下面关于java中类的说法哪个是不正确的()
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
1.下列说法中,哪个是正确的?
A、类是变量和方法的集合体
B、数组是无序数据的集合
C、抽象类可以实例化
D、类成员数据必须是公有的
2.执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的
A、x[24]为0
B、x[24]未定义
C、x[25]为0
D、x[0]为空
3.关于以下初始化序列的执行结果的说法正确的是
intindex=1;
int[]foo=newint[3];
intbar=foo[index];
intbaz=bar+index;
A、baz的值为0
B、baz的值为1
C、编译通过,但产生异常
D、编译不能通过
4.以下程序的输出结果是
publicclassko6_9
{
publicstaticvoidmain(Stringargs[])
{
intsum=0;
intko[][]={{1,2,3},{4,5,6},{7,8,9}};
for(intn=0;n<3;n++)
for(intm=0;m<3;m++)
sum+=ko[n][m];
System.out.println("sum="+sum);
}
}
A、sum=55
B、sum=45
C、sum=0
D、sum=9
5..关于以下程序段的说明正确的是
publicclassko8_1{
publicstaticvoidmain(Stringargs[]){
try{
intx[]=newint[-5];
System.out.println("此行将无法被执行!
");
}
catch(NegativearraySizeExceptione){
System.out.println("exception:
"+e.getMessage());
}
}
}
A、编译通过,输出:
此行将无法被执行!
B、编译通过,输出:
此行将无法被执行!
exception:
null
C、编译通过,输出:
exception:
null
D、编译不能通过
6、已知表达式intm[]={0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量总数相等?
A、m.length()
B、m.length
C、m.length()+1
D、m.length+1
7、下面哪个是main()函数的合法参数?
A、charargs[]
B、charargs[][]
C、Stringargs[]
D、Stringargs
8.设有定义语句inta[]={66,88,99};则以下对此语句的叙述错误的是()。
A)定义了一个名为a的一维数组
B)a数组有3个元素
C)a数组的下标为1~3
D)数组中的每个元素是整型
9.下列数组a中,版本较新的能在程序运行时动态调整大小的是
A、inta[]
B、String[]a
C、a=newArrayList()
D、a=newArray()
10.执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的
A、x[24]为0
B、x[24]未定义
C、x[25]为0
D、x[0]为空
1.当启动Applet程序时,首先调用的方法是____。
A、stop()
B、init()
C、start()
D、destroy()
2.当浏览器重新返回Applet所在页面时,将调用Applet类的方法是____。
A、start()
B、init()
C、stop()
D、destroy()
4、声明异常抛出用Throws子句来完成声明,它包含在方法的声明之中。
3.下面关于applet的说法中,不正确的是
A、applet能够嵌入到HTML页面中
B、applet自身可以运行,也可以嵌入在其他应用程序中运行
C、applet是能够在浏览器中运行的Java类
D、applet与application的主要区别在于执行方式上不同
4.下面关于applet生命周期的说法正确的是
A、applet生命周期是从浏览器解析HTML文件开始的
B、浏览器加载结束时,终止applet的运行
C、applet生命周期包括:
applet的创建、运行、等待与消亡四个状态
D、以上说法均不正确
5.在applet生命周期中,下面哪个方法是在applet被覆盖时要被调用?
A、destroy()
B、init()
C、start()
D、stop()
13、在异常处理中,如释放资源、关闭文件、关闭数据库等通常由()来完成。
A.try子句B.catch子句C.finally子句D.throw子句
16、下列哪个选项不是Java语言中的基本数据类型()。
A.byteB.IntegerC.booleanD.char
17、在Java中,能实现多重继承效果的方式是
A)内部类B)适配器C)接口D)同步
3、按钮可以产生ActionEvent事件,实现哪个接口可处理此事件?
AFocusListener
BComponentListener
CWindowListener
DActionListener
4.类Panel默认的布局管理器是____。
A、GridLayout
B、BorderLayout
C、FlowLayout
D、GardLayout
5.在下列事件处理机制中哪个不是机制中的角色?
A、事件
B、事件源
C、事件接口
D、事件处理者
6.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用____类的
对象来实现。
A、Label
B、Button
C、Textarea
D、TestField
7.监听事件和处理事件
A、都由Listener完成
B、都由相应事件Listener处登记过的构件完成
C、由Listener和构件分别完成
D、由Listener和窗口分别完成
2.下列方法中可以用来创建一个新线程的是____。
A、实现java.lang.Runnable接口并重写start()方法
B、实现java.lang.Runnable接口并重写run()方法
C、继承java.lang.Thread类并重写run()方法
D、实现java.lang.Thread类并实现start()方法
3.下列关于线程优先级的说法中,正确的是____。
A、线程的优先级是不能改变的
B、线程的优先级是在创建线程时设置的
C、在创建线程后的任何时候都可以设置
D、B和C
4.下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello!
”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是____。
publicclassTestimplementsRunnable{
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
Threadtt=newThread(t);
tt.start();
}
publicvoidrun(){
for(;;){
try{
____;
}catch(____e){}
System.out.println("Hello");
}
}
}
A、sleep(1000)
InterruptedException
B、t.sleep(1000)
InterruptedException
C、Thread.sleep(1000)
RuntimeException
D、Thread.sleep(1000)
InterruptedException
5.实现一个线程的创建有几种方法?
A、一种
B、三种
C、二种
D、四种
8.关于以下程序段的执行结果,说法正确的是
publicclassBorleyextendsThread{
publicstaticvoidmain(Stringargv[]){
Borleyb=newBorley();
b.start();
}
publicvoidrun(){
System.out.println("Running");
}
}
A、编译通过并执行,但无输出
B、编译通过并执行,输出:
Running
C、产生错误,没有Thread类对象
D、产生错误,没有通道到达Thread包
9.若要把变量声名为多个线程共用的变量,应使用如下哪种修饰符?
A、protected
B、provate
C、transient
D、volatile
10.线程交互中不提倡使用的方法是:
A、wait()
B、notify()
C、stop()
D、notifyall()
11.下面不属于线程生命周期的状态的是:
A、新建状态
B、可运行状态
C、运行状态
D、等待状态
23下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello!
”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是____。
以下是引用片段:
publicclassTestimplementsRunnable{
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
Threadtt=newThread(t);
tt.start();
}
publicvoidrun(){
for(;;){
try{
____;
}catch(____e){}
System.out.println("Hello");
}
}
}
A、sleep(1000)InterruptedException
B、t.sleep(1000)InterruptedException
CThread.sleep(1000)RuntimeException
DThread.sleep(1000)InterruptedException
24、Java中可以用两种方法来创建线程,一种是继承Thread类,另一种是实现__________接口。
A、ThrowsB、RunnableC、ComponentD、Container
25、Java中线程的优先级共分为___________级?
A、6B、8C、10D、12
1、Object类有一个public方法publicStringtoString(),一个对象通过调用该方法可以获得该对象的字符串表示。
1.在java语言中,boolean型常量只有true和__false___两个值。
2.标识符是以__字母___、下划线、美元符号作为首字母的字符串序列。
3.下面的语句是声明一个变量并赋值:
booleanb1=5!
=8;
b1的值是___true___。
4.在java程序中,用关键字__final___修饰的常量对象创建后就不能再修改了。
5.数据类型包括简单数据类型和复合数据类型。
复合数据类型又包括类、数组、___接口___。
6.八进制整数012表示十进制的___10____。
7.浮点型数据属于实型数据,分为float和___double___两种类型。
8.类变量在类中声明,而不是在类的某个方法中声明,它的作用域是__整个类____.
9.java语言中的各种数据类型之间提供自动转换,如第1操作数是byte类型,第2操作数是float类型,其结果是__float___类型。
10.在java语言中,如果数值后没有字母,计算机默认值为___double___类型。
把对象实例化可以生成多个对象,使用____new_____运算符为对象分配内存空间。
java程序引入接口的概念,是为了弥补只允许类的___单继承_____的缺憾。
java语言以____类___为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
抽象方法只能存在于抽象类中。
抽象方法用关键字___abstract_____来修饰。
java语言中___Object____是所有类的根.
在java中有一种叫做___构造函数____特殊方法,在程序中用它来对类成员进行初始化.
new是___创建___对象的操作符.
继承主要强调子类在父类的基础上取”长”补”短”,而___多态性___主要强调的是类与类之间的传输
我们在java程序中,把关键字____supper____加到方法名称的前面,来实现子类调用父类的方法
定义一个类包括定义类头和定义___类体___两个部分
在java程序里,同一类中重载的多个方法具有相同的方法名和__不同的___的参数列表.重载的方法可以有不同的返回值类型
java是面向对象语言,对象是客观事物的___实体____,对象与之是一一对应的,它是很具体的概念.
java语言通过接口支持___多重___继承,使类继承具有更灵活的扩展性
一个对象的生命周期包含三个阶段:
生成,___使用___和清除
java语言中,调用方法时,参数传递是___值___调用,而不是地址调用
接口是一种只含有抽象方法或___常量___的一种特殊抽象类
创建一个类就是创建一个新的数据类型,而类在java中属于___不能___数据类型。
abstract方法___复合_____(不能或能)与final并列修饰同一个类
19. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的____参数个数____必须是不同的,这种现象称为方法的重载。
1.编写类College,Co