JAVA语言程序设计》期末考试试卷及答案6(应考必备题库)
一、填空题
1.定义类的保留字是( class),定义接口的保留字是 interface)
2Socket通常也称为套接字  ),用于描述( IP地址 )( 端口 )
3.线程的优先级在(  1  )(  10  )之间,数值越大( 任务越紧急 )
4.构造方法是一种特殊的成员方法,构造方法名与( 类名 )相同。
5Java语言只允许单继承,指每个类只能有一个( 父类 )
6Java源程序的扩展名是( .java ),经过编译后的程序的扩展名是(.class)。
7.在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。访问临界资源的代码( 临界代码 )
8. 在多线程系统中,多个线程之间有 ( 同步 ) ( 互斥 ) 两种关系。
二、选择题
1.关于选择结构下列哪个说法正确? (  )
Aif语句和 else语句必须成对出现
Bif语句可以没有else语句对应
Cswitch结构中每个case语句中必须用break语句
Dswitch结构中必须有default语句
2while循环和 do…while循环的区别是:  (  )
A.没有区别,这两个结构任何情况下效果一样
Bwhile循环比 do…while循环执行效率高
Cwhile循环是先循环后判断,所以循环体至少被执行一次
Ddo…while循环是先循环后判断,所以循环体至少被执行一次
3.关于 for循环和 while循环的说法哪个正确? (  )
Awhile循环先判断后执行,for循环先执行后判断。
Bwhile循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
4.下列修饰符中与访问控制无关的是 (  )
Aprivate    Bpublic
1 / 9
Cprotected  Dfinal
5 void的含义:  (  )
A方法没有返回值  B.方法体为空
C.没有意义    D. 定义方法时必须使用
6 return语句:  (  )
A.只能让方法返回数值    B.方法都必须含有
C方法中可以有多句return D.不能用来返回对象
7.关于对象成员占用内存的说法哪个正确?  (  )
A.同一个类的对象共用同一段内存
B同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
8.下列说法哪个正确?
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
9.下列说法哪个正确?  (  )
A一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
10.关于方法main()的说法哪个正确?(  )
A.方法main()只能放在公共类中
B  main()的头定义可以根据情况任意更改
C一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
2 / 9
11.构造函数何时被调用?  (  )
A创建对象时    B、类定义时
C、使用对象的方法时  D、使用对象的属性时
12 抽象方法:  (  )
A、可以有方法体
B、可以出现在非抽象类中
C是没有方法体的方法
D、抽象类中的方法都是抽象方法
13.关于继承的说法正确的是:  (  )
A、子类将继承父类所有的属性和方法。
B子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
14.关于构造函数的说法哪个正确?  (  )
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
15 thissuper
A、都可以用在main()方法中
B、都是指一个内存地址
C不能用在main()方法中
D、意义相同
16.关于super的说法正确的是:
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
3 / 9
17.覆盖与重载的关系是  (  )
A覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
Cfinal修饰的方法可以被覆盖,但不能被重载编程语言有哪几种类
D.覆盖与重载是同一回事
18.关于接口哪个正确?  (  )
A实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事
19.异常包含下列哪些内容?  (  )
A程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误 
C.程序的编译错误
D.以上都是
20  对于已经被定义过可能抛出异常的语句,在编程时:  ) (
throws将其抛出A必须使用trycatch语句处理异常,或用 B.如果程序错误,必须使用 trycatch语句处理异常 C.可以置之不理 catch语句处理D.只能使用try
  ).21  字符流与字节流的区别在于( A.前者带有缓冲,后者没有 .前者是块读写,后者是字节读写B C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同
) ( 22.下列流中哪个不属于字节流 
FileInputStream ABufferedInputStream B C. FilterInputStream
4 / 9
D. InputStreamReader
三、程序填空题
1.public class Sum{
public static void main(String [] args){
int j=10 
System.out.println(j is : +j) 
calculate(j)  
  System.out.println(At last,j is : +j)}
static void calculate(int j){
i++)   for (int i=0i<10    j++  System.out.println(j in calculate() is: +j)}
}
输出结果为:j is :                (1) 
j in calculate() is :  (2)
At last j is :        (3)
;;答案:(1) 10 (2) 20 (3) 10
2.按要求填空abstract class SuperAbstract{
void a(){…}
abstract void b()  abstract int c(int i)}
interface AsSuper
{
5 / 9
void x()
}
abstract class SubAbstract extends SuperAbstract implements AsSuper
{
public void b(){…}
  abstract String f()}
public class InheritAbstract extends SubAbstract{
public void x(){…}
public int c(int i ) {…}
public String f(){…}
public static void main(String args[]){ 
  InheritAbstract instance=new InheritAbstract()  instance.x()  instance.a() instance.b()
instance.c(100)    System.out.println(instance.f())} 
}
在以上这段程序中:) 1和 ()  (写出类名SuperAbstract抽象类有:) (2  非抽象类有:    ()  写出类名)
(  写出接口名3    接口有:    ( 方法是(中的AsSuperx()4    )中必须对它进行()方法,所以在InheritAbstract5 
答案: (1) SuperAbstract (2) InheritAbstract (3)AsSuper 抽象;(4)
覆盖和实现。(5)
3.按注释完成程序public class Leaf{
6 / 9
private int i=0//此属性值用于检验
Leaf increment(){//定义方法increment(),返回值是 Leaf类的对象
  i++ 
return (1)//  将当前对象的地址作为返回值返回
}
void print(){ 
  System.out.println(i= +i)}
public static void main(String args[]){ 
x  Leaf x= Leaf类的对象。//创建 (2) x.increment().increment().increment().print()  }//
次调用方法increment(),返回的都是x的地址,i 值表示调用次数
}
输出结果为i= (3)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。