1、JAVA语言程序设计期末考试试题及答案6一、填空题1定义类的保留字是( class ),定义接口的保留字是( interface )。2Socket通常也称为 ( 套接字 ),用于描述( IP地址 ) 和 ( 端口 )。 3线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。4构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。5Java语言只允许单继承,指每个类只能有一个 ( 父类 )。6Java源程序的扩展名是( .java ),经过编译后的程序的扩展名是( .class )。7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。访问临界资源的代码
2、( 临界代码 )。8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。二、选择题1关于选择结构下列哪个说法正确?()Aif语句和 else语句必须成对出现Bif语句可以没有else语句对应Cswitch结构中每个case语句中必须用break语句Dswitch结构中必须有default语句2while循环和 dowhile循环的区别是:()A没有区别,这两个结构任何情况下效果一样Bwhile循环比 dowhile循环执行效率高Cwhile循环是先循环后判断,所以循环体至少被执行一次Ddowhile循环是先循环后判断,所以循环体至少被执行一次3关于 for循环和 wh
3、ile循环的说法哪个正确?()Awhile循环先判断后执行,for循环先执行后判断。Bwhile循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C两种循环任何时候都不可以替换D两种循环结构中都必须有循环体,循环体不能为空4下列修饰符中与访问控制无关的是()Aprivate BpublicCprotectedDfinal5 void的含义:()A方法没有返回值 B 方法体为空C没有意义 D.定义方法时必须使用6 return语句:()A只能让方法返回数值B方法都必须含有C方法中可以有多句return D不能用来返回对象7关于对象成员占用内存的说法哪个正确?()A同一个类的对象共用
4、同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C对象的方法不占用内存D以上都不对8下列说法哪个正确?A不需要定义类,就能创建对象B对象中必须有属性和方法C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量9下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用10关于方法main()的说法哪个正确?()A方法main()只能放在公共类中B main()的头定义可以根据情况任意更改C一个类中可以没有main()方法D所有对象的创建都必须放在main()方法中11构造函数何
5、时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时12抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法13关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性14关于构造函数的说法哪个正确?()A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数15 this和super:A、都可以用在main()方法
6、中B、都是指一个内存地址C、不能用在main()方法中D、意义相同16关于super的说法正确的是:A、是指当前对象的内存地址B、是指当前对象的父类对象的内存地址C、是指当前对象的父类D、可以用在main()方法中17覆盖与重载的关系是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B覆盖方法可以不同名,而重载方法必须同名Cfinal修饰的方法可以被覆盖,但不能被重载D覆盖与重载是同一回事18关于接口哪个正确?()A、实现一个接口必须实现接口的所有方法B一个类只能实现一个接口C接口间不能有继承关系D接口和抽象类是同一回事19异常包含下列哪些内容?()A程序执行过程中遇到的事先没
7、有预料到的情况B程序中的语法错误C程序的编译错误D以上都是20对于已经被定义过可能抛出异常的语句,在编程时:()A、必须使用trycatch语句处理异常,或用throws将其抛出B如果程序错误,必须使用 trycatch语句处理异常C可以置之不理D只能使用trycatch语句处理21字符流与字节流的区别在于()A前者带有缓冲,后者没有B前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用D. 每次读写的字节数不同22下列流中哪个不属于字节流()AFileInputStreamBBufferedInputStreamC. FilterInputStreamD. InputStreamRe
8、ader三、程序填空题1.public class Sumpublic 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)for (int i = 0;i10;i+)j+;System.out.println(j in calculate() is: +j);输出结果为:j is : (1) j in calculate() is : (2)At l
9、ast j is : (3)答案:(1) 10; (2) 20; (3) 10。2. 按要求填空abstract class SuperAbstractvoid a()abstract void b();abstract int c(int i);interface AsSupervoid x();abstract class SubAbstract extends SuperAbstract implements AsSuperpublic void b()abstract String f();public class InheritAbstract extends SubAbstract
10、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(); 在以上这段程序中:抽象类有:SuperAbstract和(1)(写出类名)非抽象类有:(2)(写出类名)接口有:(3)(写出接口名)AsSuper中的x
11、()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)答案:(1) SuperAbstract;(2) InheritAbstract;(3) AsSuper;(4) 抽象;(5) 覆盖和实现。3. 按注释完成程序public class Leaf private int i = 0; /此属性值用于检验Leaf increment() /定义方法increment(),返回值是Leaf类的对象i+;return (1) ;/将当前对象的地址作为返回值返回void print() System.out.println( i = + i);public static vo
12、id main(String args)Leaf x = (2); /创建Leaf类的对象xx.increment().increment().increment().print();/多次调用方法increment(),返回的都是x的地址,i 值表示调用次数输出结果为 i = (3) 答案:(1) this;(2) new Leaf();(3) 34.按注释提示完成文件复制的程序 /FileStream源代码如下: import java.io.*; class FileStream public static void main(String args ) try File inFile
13、= new File(file1.txt);/指定源文件 File outFile = new File(file2.txt);/指定目标文件 FileInputStream fis =(1); FileOutputStream fos = new FileOutputStream(outFile); int c; /逐字节从源文件中输入,再输出到fos流while (c = fis.read ()!=-1) (2); fis.close(); fos.close();catch (Exception e) System.out.println(FileStreamsTest: +e); 答案:(1) new FileInputStream(inFile);(2) fos.write(c);5.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1