为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

《JAVA程序设计》期末考试试题_(六)

2012-01-04 8页 doc 58KB 29阅读

用户头像

is_657505

暂无简介

举报
《JAVA程序设计》期末考试试题_(六)《JAVA程序设计》期末考试试题 (六) 一、填空题 1.定义类的保留字是( class ),定义接口的保留字是( interface )。 2.Socket通常也称为 ( 套接字 ),用于描述( IP地址 ) 和 ( 端口 )。 3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。 4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。 5.Java语言只允许单继承,指每个类只能有一个 ( 父类 )。 6.Java源程序的扩展名是( .java ),经过编译...
《JAVA程序设计》期末考试试题_(六)
《JAVA程序设计》期末考试试 (六) 一、填空题 1.定义类的保留字是( class ),定义接口的保留字是( interface )。 2.Socket通常也称为 ( 套接字 ),用于描述( IP地址 ) 和 ( 端口 )。 3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。 4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。 5.Java语言只允许单继承,指每个类只能有一个 ( 父类 )。 6.Java源程序的扩展名是( .java ),经过编译后的程序的扩展名是( .class )。 7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。访问临界资源的代码( 临界代码 )。 8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。 二、选择题 1.关于选择结构下列哪个说法正确? (  ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 2.while循环和 do…while循环的区别是:  (  ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 3.关于 for循环和 while循环的说法哪个正确? (  ) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 4.下列修饰符中与访问控制无关的是 (  ) A.private    B.public C.protected D.final 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()方法中 11.构造函数何时被调用?  (  ) 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()方法中 B、都是指一个内存地址 C、不能用在main()方法中 D、意义相同 16.关于super的说法正确的是: A、是指当前对象的内存地址 B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在main()方法中 17.覆盖与重载的关系是  (  ) A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事 18.关于接口哪个正确?  (  ) A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事 19.异常包含下列哪些?  (  ) A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误   C.程序的编译错误 D.以上都是 20.   对于已经被定义过可能抛出异常的语句,在编程时:  (  ) A、必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理 D.只能使用try/catch语句处理 21.  字符流与字节流的区别在于(  ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同 22.下列流中哪个不属于字节流  (  ) A.FileInputStream B.BufferedInputStream C. FilterInputStream 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){ for (int i = 0;i<10;i++) 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 { 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()); } } 在以上这段程序中: 抽象类有:SuperAbstract和 (1)  (写出类名) 非抽象类有:       (2)  (写出类名) 接口有:         (3)  (写出接口名) AsSuper中的x()方法是(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 void main(String args[]){ Leaf x = (2); //创建Leaf类的对象x x.increment().increment().increment().print(); }//多次调用方法increment(),返回的都是x的地址,i 值示调用次数 } 输出结果为 i = (3) 答案: (1) this; (2) new Leaf(); (3) 3 4.  按注释提示完成文件复制的程序 //FileStream源代码如下: import java.io.*; class FileStream { public static void main(String args []) { try { File inFile = 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.  阅读程序,给出结果: // AbstractClassDemo.java源代码如下: abstract class Shape { //定义抽象类Shape和抽象方法display abstract void display(); } class Circle extends Shape { void display() { //实现抽象类的方法 System.out.println("Circle"); } } class Rectangle extends Shape { void display() { //实现抽象类的方法 System.out.println("Rectangle"); } } class Triangle extends Shape { void display() { //实现抽象类的方法 System.out.println("Triangle"); } } public class AbstractClassDemo{ public static void main(String args[]){ (new Circle()).display(); //定义无名对象来调用对应的display方法 (new Rectangle()).display(); (new Triangle()).display(); } } 输出结果是 ? 答案:(1) Circle; (2) Rectangle; (3) Triangle。
/
本文档为【《JAVA程序设计》期末考试试题_(六)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索