《Java程序设计慕课版自测试题5套及答案大学期末复习资料(共16页).doc》由会员分享,可在线阅读,更多相关《Java程序设计慕课版自测试题5套及答案大学期末复习资料(共16页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上自测试卷一笔试试卷姓名: 笔试时间: 1编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )A.java B .class C. .html D.exe2抽象类和抽象方法有哪些规则?3不允许作为类及类成员的访问控制符是( )。Apublic Bprivate Cstatic Dprotected4设x=1,y=2,z=3,则表达式y+=z-/+x值是( )。A3 B3.5 C4 D55任何一个Java程序都默认引入一个包,这个包的名字是_。6匿名类的特点有哪些?7匿名类的一般格式是_。8面向对象的三大特性有哪些?9简述成
2、员变量和局部变量的作用范围?10构造方法的特点是什么?11关于下面程序片段,结论正确的是( )。String a =”Java”;String b=”Java”;String x=”Ja”;String y=”va”;String c=x+y;A. a和b指向同一个实例对象,a和c指向同一个实例对象B. a和b指向同一个实例对象,a和c不指向同一个实例对象C. a和b不指向同一个实例对象,a和c指向同一个实例对象D. a和b不指向同一个实例对象,a和c不指向同一个实例对象12关于多态性的说法正确的是( )。A. 一个类中不能有同名的方法B. 子类中不能有和父类中同名的方法C. 子类中可以有和父
3、类中同名且参数相同的方法D. 多态性就是方法的名字可以一样,但返回的类型必须不一样13关于继承的说法,正确的是( )。A 超类的对象就是子类的对象B 一个类可以有几个超类C 一个类只能有一个子类D 一个类只能有一个超类14下面的方法重载正确的是( )。A. int fun (int a, float b) float fun(int a, float b)B. float fun (int a, float b) float fun (int x, float y)C. float fun (float a) float fun(float a, float b)D. float fun1 (
4、int a, float b) float fun2(int a ,float b)15输入输出流一般分为_。自测试卷二笔试试卷姓名: 笔试时间: 1执行下面代码后,描述正确的是( )int a,b,c;a=1;b=2;c=(a+b3?a+:b+)A. a的值是2,b的值是3B. a的值是1,b的值是3C. a的值是2,b的值是2D. c的值是false2将类的成员的访问权限设置为默认的,则该成员被( )A同一包中的类访问B其他包中的类访问C所有的类访问D所有的类的子类访问3有关类的说法,正确的是( )。A 类具有封装性,所以类的数据是不能被访问的B 类具有封装性,但可以通过类的公共接口访问类
5、中的数据C 声明一个类时,必须使用public修饰符D 每个类中必须有main方法,否则程序无法运行4编译一个定义了两个类和三个方法的Java源文件,总共会生成( )个字节码文件。A 5个字节码文件,以“.java”为扩展名B 2个字节码文件,以“.java”为扩展名C 5个字节码文件,以“.class”为扩展名D 2个字节码文件,以“.class”为扩展名5关于super的说法正确的是( )。A 是指当前对象的内存地址B 是指当前对象的父类对象的内存地址C 是指当前对象的父类D 可以用在main()方法中6若 x=5,y=10,则x=y的逻辑值分别是_和_。7创建一个名为MyFirstPac
6、kage的包,那么在程序中该包的语句是_,该语句位于程序的位置是:_。8如何理解面向对象的多态特性?9List接口、Set接口、Map接口和Collection接口的主要特征是什么?10HashMap类,在重写hashCode()方法时需要遵循的原则是?11下面的代码,编译运行时,结果是( )public class Test public static void main (String args) for(int i=0;i3;i+) System.out.print(i);System.out.print(i);A编译时报错B正确运行,输出012C正确运行,输出123D正确运行,输出01
7、2312下面代码中,编译时会发生错误的是( )。class Parent class Child extends Parent public static void main (String args) Parent p1 = new Child (); /第一行 Parent p2 = new Parent (); /第二行 Child c1 = new Child (); /第三行 Child c2 = new Parent (); /第四行A第一行B第二行C第三行D第四行13下面给定的代码, Public static void main (String args) System.out
8、.print(“Hello”+args1);从命令行中传参:people world nation ,该程序的运行结果是( )。A Hello peopleB Hello world C Hello people world nationD 运行出现异常14Java语言中,尝试对null对象进行操作时,会产生( )类型的异常。AArithmeticExceptionB. NullPointerExceptionC. IOExceptionD. EOFException15请列举出三种常见的过滤器及其作用。自测试卷三笔试试卷姓名: 笔试时间: 1下面合法的标识符是( )。A#_pound B.
9、_underscore C. 5Interstate D. class2下面( )赋值语句不会出现编译警告或错误的是。A float f =1.3;B char c=”a”;C byte b=257;D int i=10;3字符流和字节流的区别在于( )。A前者带有缓冲,后者没有B前者是块读写,后者是字节读写C二者没有区别,可以互换使用D每次读写的字节数不同4下列流中哪个不属于字节流( )。AFileInputStream BBufferedInputStream CFilterInputStream DInputStreamReader 5Java语言中,String str=”,Syste
10、m.out.println(str.indexOf(“5”),输出结果是( )。A6 B5 C4 D36x=2,y=3,z=4,则表达式z*=y+*-x的值是_。7接口和抽象类的用法区别是什么?8Java是一种不支持多重继承的语言,但是我们可以通过_实现。9FileInputStream是_,BufferedWriter是_,ObjectOutputStream是_。10构造函数何时会被调用?( )A创建对象时 B可以出现在非抽象类中 C是没有方法体的方法 D抽象类中的方法都是抽象方法11在使用interface声明一个接口时,只可以使用_修饰符修饰该接口。12下面的java代码运行结果是(
11、)。import java.io.*;public class B public static void main(String args) int i =12;System.out.println(i*=+i);A145B. 169C. 156D. 无法编译13Java中,byte数据类型的取值范围是( )。A-256255B-255255C-128127D-12712814Java中的布局管理器,下列说法错误的是( )。AFlowLayout以由上到下的方式从左到右排列组件BBorderLayout使用“东”、“西”,“南”,“北”,“居中”来指定组件的位置CGridLayout可以创建网
12、格布局,网格布局中各组件的大小可以任意调整D可以通过容器的setLayout方法为容器指定布局管理器15Java中,关于HashMap类的描述,错误的是( )。AHashMap使用键/值的形式保存数据BHashMap能够保证其中元素的顺序CHashMap允许将null用作键DHashMap允许将null用作值自测试卷四笔试试卷姓名: 笔试时间: 1下列选项中哪个是Java的有效关键字?( )Aname B. hello C. false D. good2Frame对象默认的布局管理器是( )。AFlowLayout B. BorderLayout C. CardLayout D.null3下列
13、哪一个import命令可以使我们在程序中创建输入/输出流对象。( )Aimport java.sql.*; Bimport java.util.*;Cimport java.io.*; Dimport .*;4下面哪一个import命令可以为我们提供编写网络应用程序的类( )。Aimport java.sql.*; Bimport java.util.*;Cimport java.io.*; Dimport .*;5一般造成死锁必须同时满足的4个条件是?6Java程序中的单行注释的符号是_,多行注释的符号是_。7当声明一个数组int arr = new int 5;时,这代表这个数组所保存的变
14、量类型是_,数组名是_,数组的长度是_,数组下标的使用范围是_。8假设x=13,y=14,则表达式x%y!=0的值是_,其数据类型是_。9下列哪一项不属于Swing的顶层容器?( )AJApplet B. JTree C. JDialog D.JFrame10覆盖和重载的关系是( )。A 覆盖只能发生在父类与子类之间,而重载可以发生在同一个类中B 覆盖方法可以不同名,而重载方法必须同名C final修饰的方法可以被覆盖,但不能被重载D 覆盖与重载是同一回事11关于this和super的说法正确的是( )。A 都可以用在main()方法中B 都是指一个内存地址C 不能用在main()方法中D 意
15、义相同12Java中的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。A8 B.16 C.32 D.6413关于while循环和dowhile循环的区别是( )。A 没有区别,这两个结构任何情况下效果一样B while循环比dowhile循环执行效率高C while循环是先循环后判断,所以循环体至少被执行一次D dowhile循环是先循环后判断,所以循环体至少被执行一次14Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( )。A安全性B多线程C跨平台D可移植15什么是重载?什么是覆盖?它们二者之间有怎样的区别与联系?自测试卷五笔
16、试试卷姓名: 笔试时间: 1以下对封装描述正确的是( )。A 只能对一个类中的方法进行封装,不能对属性进行封装B 如果子类继承了父类,对于弗雷中进行封装的方法,子类仍可直接调用C 封装的意义不大,因此在编码时尽量不要使用D 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性2一下不是Object类的方法是( )。A clone()B finalize()C toString()D hasNext()3以下对自定义异常描述错误的是( )。A 自定义异常必须继承ExceptionB 自定义异常可以继承自ErrorC 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D 程序已经提供了
17、丰富的异常类,使用自定义异常没有意义4以下对TCP和UDP描述正确的是( )。A TCP不能提供数据的可靠性B UDP能够保证数据库的可靠性C TCP数据传输效率高于UPDD UPD数据传输效率高于TCP5在开发JDBC应用程序时,使用DriverManager类的getConnection()方法建立与数据源链接语句为:Connection con = DriverManager.getConnection(“jdbc:odbc:news”);其中,“news”表示的是_。6_接口以键值对的方式存储对象。7下列关于对象序列化描述正确的是( )。A 使用FileOutputStream可以将对
18、象进行传输B 使用PrintWriter可以将对象进行传输C 使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取D 对象序列化的所属类不需要Serializable接口8使用JDBC连接数据库的顺序是( )。A 加载驱动B 导入驱动包C 发送并处理SQL语句D 建立于数据库的连接E 关闭连接9下面语句中,break的作用是_。for(int i =0;i10; i+) if(aDatai =TargetData) FoundID = i;break;10在Swing中,如何设置组件的边框( )A 通过根窗格的setBorder函数设置某
19、个组件的边框B 通过内容窗格的setBorder函数设置某个组件的边框C 通过组件的setBorder函数设置D 通过框架的setBorder函数设置某个组件的边框11结构化程序设计所规定的的三种基本控制结构是( )。A输入、处理、输出 B树形、网形、环形C顺序、选择、循环 D主程序、子程序、函数12下面的程序中,s的最终结果是_。public class dai public static void main(String args) int i,s=0;int a =10,20,30,40,50,60,70,80,90;for(i=0;ia.length;i+)if(ai%3=0)s+=a
20、i;System.out.println(s=+s);13下列程序,输出的结果是_。public class cook public static void main(String args) int i,j;int a =5,9,6,8,7;for(i=0;ia.length-1;i+)int k =i;for(j=i;ja.length;j+)if(ajak)k=j;int temp =ai;ai=ak;ak=temp;for(i=0;iz&x+zy&z+yx)System.out.println(是汽车);elseSystem.out.println(是飞行器啊);15在进行方法覆盖时,
21、需要注意什么?自测题库参考答案自测试卷1答案1、B2、(1)抽象类必须使用abstract修饰符来修饰,抽象方法必须使用abstract修饰符来修饰。(2)抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例,即使抽象类里不包含抽象方法,这个抽象类也不能创建实例。(3)抽象类可以包含属性、方法(普通方法和抽象方法)、构造器、初始化块、内部类、枚举类。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。(4)含有抽象方法的类(包括直接定义了一个抽象方法;继承了一个抽象父类,但没有完全实现父类包含的抽象方法;以及实现了一个接口(本书第六章详细介绍),但没有完全实现接口包
22、含的抽象方法三种情况)只能被定义成抽象类。3、C4、A5、java.lang6、(1)匿名类可以继承父类的方法也可以重写父类的方法。(2) 匿名类可以访问外嵌类中的成员变量和方法,在匿名类中不能声明静态变量和静态方法。(3)使用匿名类时,必须在某个类中直接使用匿名类创建对象。(4)在使用匿名类创建对象时,要直接使用父类的构造方法。7、new ClassName() 8、封装、继承和多态9、(1)成员变量:在类中声明,在整个类中有效。(2)局部变量:在方法内或方法内的复合代码块(就是方法内部,“”与“”之间的代码)中声明的变量。在复合代码块声明的变量,只在当前复合代码块中有效;在复合代码块外、方
23、法内声明的变量在整个方法内都有效。10、构造方法是一种特殊的方法,它的名字必须与它所在类的名字完全相同,并且没有返回值,也不需要使用关键字void进行标识。11、B12、C13、D14、C15、字节输入流、字节输出流、字符输入流和字符输出流自测试卷2答案1、B2、A3、B4、D5、B6、true false7、package MyFirstPackage 程序的第一行8、string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。而StringBuilder类则不
24、同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。9、(1)Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用;(2)List接口实现了Collection接口,List接口允许存放重复的对象,按照对象的插入顺序排列;(3)Set接口实现了Collection接口,Set接口不允许存放重复的对象,按照自身内部的排序规则排列;(4)Map接口以键值对(key-value)的形式存放对象,其中键(key)对象不可以重复,值(value)对象可以重复,按照自身内部
25、的排序规则排列。10、(1)不唯一原则:不必为每个对象生成一个唯一的哈希码,只要通过hashCode方法生成的哈希码能够利用get()方法得到利用put()方法添加的映射关系就可以;(2)分散原则:生成哈希码的算法应尽量使哈希码的值分散一些,不要很多哈希码值都集中在一个范围内,这样有利于提高由HashMap类实现的Map集合的性能。11、A12、D13、D14、B15、BufferedReader:该过滤器用来对流的数据加以处理再输出。LineNumberReader:该过滤器也是一种缓冲流,可用来记录读入的行数。PrintWriter:该过滤器用来将输出导入某种设备。自测试卷3答案1、B2、
26、D3、D4、D5、C6、127、(1)接口中只能包含抽象方法,不能包含普通方法;抽象类中可以包含普通方法。(2)接口中不能定义静态方法;抽象类中可以定义静态方法。(3)接口中只能定义静态常量属性,不能定义普通属性;抽象类里可以定义静态常量属性,也可以定义普通属性。(4)接口不能包含构造器;抽象类可以包含构造器,抽象类里的构造器为了让其子类调用并完成初始化操作。(5)接口中不能包含初始化块,但抽象类可以包含初始化块。 (6)一个类最多只能有一个直接父类,包括抽象类;但是一个类可以实现多个接口。8、接口9、字节流 字符流 对象流10、A11、public12、C13、C14、C15、B自测试卷4答
27、案1、C2、B3、C4、D5、(1)互斥条件:线程使用的资源必须至少有一个是不能共享的;(2)请求与保持条件:至少有一个线程必须持有一个资源并且正在等待获取一个当前被其他线程持有的资源;(3)非剥夺条件:分配的资源不能从相应的线程中被强制剥夺;(4)循环等待条件:第一个线程等待其他线程,后者又在等待第一个线程序。6、/ /*/7、int arr 5 0到48、true boolean9、B10、A11、C12、B13、D14、B15、重载是指在同一个类中定义了多个名字相同而内容不同的成员方法;覆盖则是指在子类中定义了与父类具有相同名字的成员方法。重载和覆盖的区别在于:重载是存在于同一个类的不同
28、方法之间的多态关系,它们主要通过参数李表中的参数个数、参数的数据类型和参数的顺序等方面的不同来区分;而覆盖是存在于父类与子类之间的多态关系,它们在引用时通过指出所属类的类名来区分。自测试卷5答案1、D2、D3、C4、D5、数据源的名称6、java.util.Map7、C8、BADCE9、退出整个循环10、C11、C12、s=18013、5 6 7 8 914、是汽车15、(1)子类不能覆盖父类中声明为final或者static的方法。(2)子类必须覆盖父类中声明为abstract的方法,或者子类也将该方法声明为abstract。(3)子类覆盖父类中的同名方法时,子类中方法的声明也必须和父类中被覆盖的方法的声明一样。专心-专注-专业