Java试题(B)
- 格式:doc
- 大小:84.50 KB
- 文档页数:10
集合部分测试题本套题共40道,前30道为单选,后10道为多选。
单选题2分/题,多选题4分/题。
多选题不全对半分,全对满分。
单选题1.LinkedList类的特点是( )A.查询快B.增删快C.元素不重复D.元素自然排序2.关于迭代器说法错误的是( )A.迭代器是取出集合元素的方式B.迭代器的hasNext()方法返回值是布尔类型C.List集合有特有迭代器D.next()方法将返回集合中的上一个元素3.单列集合的顶层接口是( )A.java.util.MapB.java.util.CollectionC.java.util.ListD.java.util.Set4.实现下列哪个接口,可以启用比较功能( )A.Runnable接口B.Iterator接口C.Serializable接口parator接口5.对于增强for循环说法错误的是( )A.增强for循环可以直接遍历Map集合B.增强for循环可以操作数组C.增强for循环可以操作Collection集合D.增强for循环是JDK1.5版本后出现的6.下面代码运行的结果是( )ArrayList<String> al = new ArrayList<String>();al.add(true);al.add(123);al.add(“abc”);System.out.println(al);A.编译失败B.[true,123]C.[true,123,abc];D.[abc];7.将Map集合中的键存储到Set集合的方法是( )A.entrySet()B.get()C.keySet()D.put()8.ArrayList和Vector的区别说法正确的是( )A.ArrayList是线程安全的,Vector是线程不安全B.ArrayList是线程不安全的,Vector是线程安全的C.ArrayList底层是数组结构,Vector底层是链表结构D.ArrayList底层是链表结构,Vector底层是数组结构9.Set集合的特点是( )A.元素有序B.元素无序,不存储重复元素C.存储重复元素D.Set集合都是线程安全的10.A rrayList的初始化内容如下:ArrayList<String> list = new ArrayList<>();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以删除list中所有的“java”的代码是( )a)for (int i = list.size()-1; i >= 0; i--) { if("java".equals(list.get(i))){list.remove(i);}}b)for (int i =0; i < list.size(); i++) {if("java".equals(list.get(i))){list.remove(i);}}c) list.remove("java");d) list.removeAll("java");11.V ector类的特点是( )A.线程同步B.线程不同步C.增删快D.底层是链表结构12.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 ( )A.必须实现Comparable接口B.有main方法C.有get和set方法D.必须实现Serializable接口13.下列方法不是Collection通用方法的有( )a) iterator()b) add()c) get(); //list特有d) remove()14.对于HashMap集合说法正确的是( )A.底层是数组结构B.底层是链表结构C.可以存储null值和null键D.不可以存储null值和null键15.C ollections工具类中的binarySearch()方法描述正确的是( )A.binarySearch()方法只能操作Set集合B.binarySearch()方法只能操作List集合C.binarySearch()方法只能操作Map集合D.binarySearch()可以操作所有的集合16.将集合转成数组的方法是( )A.asList()B.toCharArray()C.toArray()D.copy()17.父类声明:public class FXfather<T>{….}现在要定义一个Fxfather的子类son,下面定义错误的是( )a) class Son extends FXfather<String>{}b) class Son<T,V> extends FXfather<T>{}c) class Son<String> extends FXfather<String>{}d) class Son<String> extends FXfather<T>{}18.A rrayList类的底层数据结构是( )A.数组结构B.链表结构C.哈希表结构D.红黑树结构19.应用程序的main方法中有以下语句(请参看API文档)Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+ hashtable.get("200").toString() + hashtable.get("100").toString());则输出的结果是 ( )。
大学 —— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、Java 语言具有许多的优点和特点,下列的选项___反映了Java 程序并行机制的特点。
A )安全性 B )多线程 C )跨平台 D )可移植 答案: B 知识点: java 基础 难度系数C 2、下列关于JAVA 语言特点的叙述中,错误的是____。
A )Java 是面向过程的编程语言 B )Java 支持分布式计算 C )Java 是跨平台的编程语言 D )Java 支持多线程 答案:A 知识点: java 基础 难度系数C 3、定义私有的成员函数或成员变量,正确的是____。
A )不需要定义,缺省的访问级就是私有级 B )在类的开头部分集中定义 C )成员函数需要定义,而成员变量不需要定义 D )利用private 关键字定义答案: D 知识点: 类成员 难度系数C4、下列语句正确的是________。
A )int a={1,2,3}B )int b=(1,2,3);C )int c[]={1,2,3}D )int []d={1 2 3}(难度系数C )答案:C 知识点:数组班级:姓名: 学号:试题共页加白纸张密封线5、在编写异常处理的Java程序中,每个catch语句块都应该与___语句块对应,使得用该语句块来启动Java的异常处理机制。
A)if – else B)switch C)try D)throw(难度系数B)答案:C知识点:异常6、下列表述中,不正确的是___。
A)标识符区分大小写B)改变变量的值不会改变其存储位置C)常量可以完全大写D)单精度变量赋值常数后面的字母“f”可以省略答案:D知识点:变量难度系数C7、下列陈述正确的是_________。
A)一个组件只能发生一种事件B)一个监听器处理一种事件C)多个事件监听器被注册到一个组件会引起编译错误D)如果多个事件监听器被注册到一个组件上,这些事件监听器一般都会起作用,但各个事件的处理顺序不确定(难度系数A)答案:D知识点:事件处理8、________属于容器的构件。
Java 复习一1.使用Java 语言编写的源程序保存时的文件扩展名是( )。
(A )。
class (B)。
java (C)。
cpp (D ).txt2.设int a=-2,则表达式a 〉>〉3的值为( ).(A )0 (B )3 (C )8 (D )-1 3.设有数组的定义int[] a = new int [3],则下面对数组元素的引用错误的是( )。
(A )a[0]; (B)a [a.length-1]; (C )a [3]; (D)int i=1; a[i ];4.在类的定义中可以有两个同名函数,这种现象称为函数( ). (A)封装 (B )继承 (C )覆盖 (D)重载5.在类的定义中构造函数的作用是( ). (A )保护成员变量 (B )读取类的成员变量(C )描述类的特征 (D )初始化成员变量6.下面关键字中,哪一个不是用于异常处理语句( )。
(A )try (B )break(C )catch (D )finally 7.类与对象的关系是( )。
(A )类是对象的抽象 (B)对象是类的抽象(C )对象是类的子类 (D)类是对象的具体实例8.下面哪一个是Java 中不合法的标识符( )。
(A )$persons (B )twoNum (C )_myVar (D)*point9.为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。
(A)static void method ( )(B )public void method( )(C )final void method ( )(D )abstract void method ( )10.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的( )。
(A )ArrayList myList=new Object( )(B )List myList=new ArrayList ( )(C )ArrayList myList=new List ( )(D)List myList=new List ( )11.Java 源文件和编译后的文件扩展名分别为( )(A ).class 和。
《Java程序设计》课期末考试试卷(B卷)(注意:请将答案写到答题纸上,否则无效;答题纸与试卷分开上交)一、判断正误,正确打“√",错误打“×"(每题1分,共10分)1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。
2、子类可以继承父类的私有成员.3、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。
4、一个抽象的类不能直接用new命令创建对象.5、一个子类中可以定义与父类中名字相同,而参数不同的方法,此时子类的方法会改写从父类继承来的方法。
6、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。
7、构造方法的名字必须与类名相同。
8、一个类的私有变量可以在同一个包的不同类中使用。
9、final类不能派生子类,final方法不能被覆盖。
10、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
二、单项选选题(每题1分,共20分)1、若在某一个类定义中定义有如下的方法: final void aFinalFunction();则该方法属于?A、本地方法B、解态方法C、最终方法D、抽象方法2、以下哪个不是java的关键字?A、SystemB、interfaceC、forD、else3、定义一个类,必须使用的关键字是?A、publicB、classC、interfaceD、static4、声明并创建一个按钮对象b,应该使用的语句是?A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);5、Panel对象默认的布局管理器是?A、FlowLayoutB、BorderLayoutC、CardLayoutD、null6、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是?A、p.add(b);B、p.add(b,”North”);C、p。
历届全国ITAT教育工程就业技能java大赛预赛试题与答案第二届预赛试题A卷Java程序设计一.选择题(每道题3分,共45分)(1)Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B)A、安全性B、多线性C、跨平台D、可移植(2)Character流与Byte流的区别是(C)A、每次读入的字节数不同B、前者带有缓冲,后者没有C、前者是块读写,后者是字节读写D、二者没有区别,可以互换使用(3)监听事件和处理事件(B)A、都由Listener完成B、都由相应事件Listener处登记过的构件完成C、由Listener和构件分别完成D、由Listener和窗口分别完成(4)Applet可以做下列哪些操作?(A)A、读取客户端文件B、在客户端主机上创建新文件C、在客户端装载程序库D、读取客户端部分系统变量(5)下列哪个属于容器的构件?(A)A、JFrameB、JButtonC、JPanelD、JApplet(6)以下声明合法的是()(B)A、default Strings;B、public final static nativeintw( )C、abstract doubled;D、abstract final double hyperbolicCosine( )(7)关于以下application的说明,正确的是(C)1.class Static Stuff2.{3.static int x=10;4.static{ x+=5;}5.public static void main(String args[ ])6.{7.System.out.println(“x=” + x);8.}9.static{ x/=3;}10. }A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=3(8)关于以下程序代码的说明正确的是(D)1.class HasStatic{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=103D、程序通过编译,输出结果为:x=102(9)以下选项中循环结构合法的是(C)A、while (inti<7){i++;System.out.println(“i is “+i);}B、intj=3;while(j){System.out.println(“ jis “+j);}C、intj=0;for(intk=0; j + k !=10; j++,k++){System.out.println(“ jis “+ j + “kis”+ k);}D、intj=0;do{System.out.println( “jis “+j++);if (j = = 3) {continueloop;}}while(j<10);(10)类Test1定义如下:1.publicclassTest1{2.publicfloataMethod(float a,floatb){}3.4.}将以下哪种方法插入行3是不合法的。
选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规说确的是(B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱天安门*/B、//我爱天安门*/C、/**我爱天安门*/D、/*我爱天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真";D、b oolean a = = false;6、以下( C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.67611、下列值不为true的表达式有( C )。
《Java程序设计》课期末考试试卷(B卷)(注意:请将答案写到答题纸上,否则无效;答题纸与试卷分开上交)一、判断正误,正确打“√”,错误打“×”(每题1分,共10分)1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。
2、子类可以继承父类的私有成员。
3、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。
4、一个抽象的类不能直接用new命令创建对象。
5、一个子类中可以定义与父类中名字相同,而参数不同的方法,此时子类的方法会改写从父类继承来的方法。
6、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。
7、构造方法的名字必须与类名相同。
8、一个类的私有变量可以在同一个包的不同类中使用。
9、final类不能派生子类,final方法不能被覆盖。
10、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
二、单项选选题(每题1分,共20分)1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于?A、本地方法B、解态方法C、最终方法D、抽象方法2、以下哪个不是java的关键字?A、SystemB、interfaceC、forD、else3、定义一个类,必须使用的关键字是?A、publicB、classC、interfaceD、static4、声明并创建一个按钮对象b,应该使用的语句是?A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);5、Panel对象默认的布局管理器是?A、FlowLayoutB、BorderLayoutC、CardLayoutD、null6、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是?A、p.add(b);B、p.add(b,”North”);C、p.add(b,”South”);D、b.add(p,”North”);7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的?A、p ublic static void main()B、p ublic static void main(String[ ] args)C、p ublic static int main(String[ ] args)D、p ublic void main(String arg[ ])8、定义一个接口必须使用的关键字是?A、publicB、classC、interfaceD、static9、Java中char类型的数据在内存中占据的长度是?A、8位B、16位C、32位D、不确定10、关于以下程序段,正确的说法是?String s1=”hello”; //行1String s2=new String(s1); //行2if(s1= =s2) //行3System.out.println(“s1= =s2 ”); //行4if (s1.equals(s2)) //行5System.out.println(“s1 equals s2”); //行6A、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行D、行4、行6都不执行11、以下哪个字符串不能做Java中的方法名?A、setB、outC、set TextD、get12、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
集合部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下列选项哪个正确( AC)a)对象数组是引用数据类型b)对象数组是基本数据类型c)对象数组存储的元素是引用数据类型d)对象数组存储的元素是基本数据类型2.下列选项关于集合和数组的区别说法正确的是( A )a)集合的长度是可变的,数组的长度是不可变的b)集合的长度是不可变的,数组的长度是可变的c)集合和数组都能存储基本数据类型和存储引用类型d)集合只能存储基本数据类型,数组既能存储基本类型也能存储引用类型3.Collection获取长度的方法是哪个(B )a)length()b)size()c)add()d)iterator()4.将集合转换成数组的方法是哪个( C )a)toCharArray()b)getBytes()c)toArray()d)size()5.iterator()方法的功能是什么( C)a)获取集合对象b)获取集合的长度c)获取迭代器对象d)获取集合中元素6.下面哪些方式可以避免并发修改异常的发生( ABC)a)用普通for循环和get()遍历集合,增删集合元素b)用列表迭代器遍历集合,使用列表迭代器的add()添加元素c)用普通迭代器遍历集合,使用普通迭代器的remove()删除元素 iterator(普通迭代器)d)没有方法能解决并发修改异常7.下列关于Vector说法正确的是(AD )a)Vector是JDK1.0开始出现的b)Vector是一个抽象类c)Vector是一个接口d)Vector后来被ArrayList取代了,但是某些老项目中还在延续使用8.数组数据结构的特点是什么( AC )a)增删慢b)查询慢c)查询快d)增删快9.下列描述ArrayList集合特点正确的是( BD )a)底层是链表数据结构b)底层是数组数据结构c)是线程安全的d)是线程不安全的10.列描述LinkedList集合特点正确的是(D )a)底层是数组数据结构b)底层是二叉树结构c)是线程安全的d)是线程不安全的11.下列关于ArrayList的contains(Object obj)方法的理解正确的是(ABC )a)底层会调用obj的equals方法b)如果这个方法的返回值是true,就说明集合中含有obj这个元素c)如果这个方法的返回值是false,就说明集合中没有obj这个元素d)这是一个静态方法12.在下列代码中,关于list.remove(new Person(“张三”,23))方法的作用理解正确的是( CD )ArrayList list = new ArrayList();list.add(new Person("张三", 23));list.add(new Person("张三", 23));list.add(new Person("李四", 24));list.remove(new Person("张三", 23));a)代码移除了所有的张三b)如果Person类实现了equals方法,那么就会移除所有张三c)如果Person类实现了equals方法,那么就会移除一个张三d)可能不会移除任何对象13.下列代码list中的元素存储的顺序是( D )LinkedList list = new LinkedList();list.addFirst("a");list.addFirst("b");list.addFirst("c");list.addFirst("d");list.addLast("e");System.out.println(list);a)abcdeb)edcbac)acdbed)dcbae14.Java中,关于队列的的说法正确的是(AD )a)队列的特点是先进先出b)队列的特点是后进先出c)队列的特点是先进后出d)队列的特点是后进后出15.下列有关泛型的代码中,说法正确的是(A ) ?ArrayList<Person> list = new ArrayList<Person>();a)list集合里面只能存放Person对象b)list集合里面能存放字符串c)list集合里面能存放Person的子类对象d)list集合里面可以存放Object类型的对象16.下列关于泛型说法不正确的是(B )a)泛型的出现可以把运行时出现的问题提前放到编译时期就发现b)泛型的出现可以把编译时出现的问题放到运行之后就发现c)泛型可以避免强制类型转换d)泛型是一种安全机制17.观察如下代码,下列说法不正确的是( A )public class Tool<Q> {}a)格式错误,因为Q不知道是什么b)可以这样创建对象:new Tool<String>();c)去掉Tool上的Q,可以用String来代替d)可以这样创建对象:new Tool<Person>();18.下面泛型方法中,说法正确的是( A )?private <T,Q> void show2(T t) {}a)在调用show2方法的时候,才会确定T的类型是什么b)此方法会报错,因为格式不对c)定义格式错误,此方法中<T,Q>应该改为<T>d)定义格式错误,参数列表应该改为(T,Q t)19.下列增强for循环的代码中,有关说法正确的是( D )for(int x : arr){System.out.println(x);}a)arr必须是一个int数组b)arr 可以是字符串数组c)arr 必须是一个集合d)arr可以是数组也可以是集合对象20.要遍历元素对象,下面横线处填写的代码应为( BC )ArrayList<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("b");for( ____________ ){System.out.println(x);}a)int x : listb)Object x : listc)String x : listd)int x=0;x<list.size();x++21.能删除下面集合中所有的字符串“b”的代码的是( C )ArrayList<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("b");list.add("c");list.add("d");a)for(int i = 0; i < list.size(); i++) {if("b".equals(list.get(i))) {list.remove(i);}}b)for(String str : list){if(“b”.equals(str)){list.remove(str);}}c)for(int i = 0; i < list.size(); i++) {if("b".equals(list.get(i))) {list.remove(i--);}}d)for(String s : list){list.remove(“b”);}22.关于可变参数的说法正确的是( ACD)a)可变参数的格式为【数据类型… 变量名】b)可变参数不能打印c)直接打印可变参数,得到的是一个地址值d)可变参数可以传递任意多个同类型对象23.使用HashSet存储对象,如何保证唯一(C )a)重写equals方法b)让要存储的类实现Compartor,重写compare方法c)根据成员变量重写HashCode方法和equals方法d)重写contains方法24.HashSet在创建对象存储元素的时候,以下说法错误的是(D )a)可以使用泛型b)可以存储任意内容c)存储和取出的顺序不同d)存储的元素会按照一定的规则,不会去除重复元素25.HashSet中常见的方法有(D )a)a dd,remove.get,sizeb)get(int pos)c)insert()d)add,remove,size26.根据下面的代码,选出空白处应填写的代码表示存储1-20的随机数( A )HashSet<Integer> hs = new HashSet<Integer>();Random r = new Random();while(hs.size() < 10) {补全此处代码hs.add(num);}for (Integer integer : hs) {System.out.println(integer);}a)i nt num = r.nextInt(20) + 1;b)int num = r.nextInt(20) ;c)Math.random();d)Math.random(20)+1;27.根据下面的代码,选出空白处应填写的代码( A )Scanner sc = new Scanner(System.in);System.out.println("请输入一行字符串:");String line = 补全此处代码;char[] arr = line.toCharArray();HashSet<Character> hs = new HashSet<>();for(char c : arr) {hs.add(c); }for (Character ch : hs) {System.out.println(ch);}a)S tring line = sc.nextLine();b)String line = sc.newLine();c)String line = sc.readLine();d)String line = sc.getString();28.TreeSet底层实际的操作对象是( A )a)TreeMapb)HashMapc)LinkedHashMapd)LinkedTreeMap29.下面的方法,目的是在TreeSet中对元素进行排序,但是要保留重复元素,补全下面的代码( a )public static void sort(List<String> list) {TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {@Overridepublic int compare(String s1, String s2) {int num = pareTo(s2);补全此处代码}});ts.addAll(list);list.clear();list.addAll(ts);a)return num == 0 ? 1 : num;b)return num == 1 ? 0 : num;c)return num == 1;d)return num;30.比较器必须实现以下哪个接口( A)a)Comparatorb)Comparablec)Collectiond)Map31.关于Map集合的描述,以下说法错误的是(D)a)Map集合是双列集合b)Map集合的数据结构只针对键有效c)Map集合的键是不可以重复的d)以上都不对32.往Map集合中添加元素,可以通过以下那个方法(A)a)pu t(K key,V value)b)add(K key,V value)c)keySet(K key,V value)d)containsKey(Object key)33.Map集合中,获取所有键的集合,是以下哪个方法(C)a)r emove()b)entrySet()c)keySet()d)keys()34.Itetator迭代器中的hasNext()方法的作用是(A)a)判断集合中是否还有下一个元素b)判断集合中是否还有上一个元素c)获取集合中的下一个元素d)获取集合中的上一个元素35.Map集合中,获取所有键值对的集合是那个方法(A)a)entrySet()b)values()c)keySet()d)keyValues()36.应用程序的main方法中有以下语句(请参看API文档)Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+ hashtable.get("200").toString()+ hashtable.get("100").toString());则输出的结果是 ( D )a)编译失败b)bbbc)cccd)cccbbbaaa37.TreeMap通过自然排序保证元素的唯一性,必须重写哪个方法(B)a)equals()b)compareTo()c)compare()d)toString()38.TreeMap通过比较器接口,保证元素唯一性,必须重写哪个方法(C)a)equals()b)compareTo()c)compare()d)toString()39.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须(B)a)有main方法b)必须实现Comparable接口//否则会出现类型转换异常ClassCaseExceptionc)有get和set方法d)必须实现Serializable接口40.Collections工具类中的binarySearch()方法描述正确的是(D)a)binarySearch()方法只能操作Set集合b)binarySearch()方法可以操作所有的集合c)binarySearch()方法只能操作Map集合d)binarySearch()方法只能操作List集合。
选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真";D、b oolean a = = false;6、以下( C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.67611、下列值不为true的表达式有( C )。
《面向对象程序设计》期末考试题(一)(适用对象:兰州理工大学计算机专业)2012年5月一、选择题。
(30x1.5=45分)1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。
A、javaB、classC、htmlD、exe2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()。
A、public static void main()B、public static void main(String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( )B、public void method( )C、final void method( )D、abstract void method( )4.指出下列哪个方法与方法public void add(int a){}为合理的重载方法( )。
A、public int add(int a)B、public void add(long a)C、public void add(int a,int b)D、private void add(float a)5.Java Application源程序的主类是指包含有()方法的类。
A、main方法B、toString方法C、init方法D、actionPerfromed方法6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64 7. paint()方法使用哪种类型的参数( )。
A、 GraphicsB、 Graphics2DC、 StringD、 Color8.缺省的存局管理器是()。
A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
A、import java.awt.* ;B、import java.applet.Applet ;C、import java.io.* ;D、import java.awt.Graphics ;10.对于构造函数,下列叙述不正确的是()。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
11.下面的是关于类及其修饰符的一些描述,不正确的是:()。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
12.若需要定义一个类域或类方法,应使用哪种修饰符()。
A、staticB、packageC、privateD、public13.若在某一个类定义中定义有如下的方法: abstract void performDial( );该方法属于()。
A、本地方法B、最终方法C、静态方法D、抽象方法14.定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:()A、private class MyClass extends Object。
B、class MyClass extends Object。
C、public class MyClass。
D、protected class MyClass extends Object。
15.下列哪些情况可以终止当前线程的运行?()A、抛出一个例外时。
B、当该线程调用sleep()方法时。
C、当创建一个新线程时。
D、当一个优先级高的线程进入就绪状态时。
16.设有下面两个类的定义:class Person { class Student extends Person {long id; // 身份证号 int score; // 入学总分String name; // 姓名 int getScore(){} return score;}} 问:类Person和类Student的关系是()。
A、包含关系B、继承关系C、关联关系D、无关系,上述类定义有语法错误17.设有下面的两个类定义:class AA {void Show(){ System.out.println(“我喜欢Java!”);}class BB extends AA {void Show(){ System.out.println(“我喜欢C++!”);}则顺序执行如下语句后输出结果为:()AA a; BB b;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++! 我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java! 我喜欢C++!18.设有下面的一个类定义:class AA {static void Show( ){ System.out.println(“我喜欢Java!”); }}class BB { void Show( ){ System.out.println(“我喜欢C++!”); } }若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:()A、a.Show( )B、AA.Show( );b.Show( ) BB.Show( );C、AA.Show( );D、a.Show( );b.Show( ); BB.Show( );19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为()。
A、隐藏B、覆盖C、重载D、Java不支持此特性20.对于构造函数,下列叙述不正确的是()。
A、构造函数也允许重载。
B、子类无条件地继承父类的无参构造函数。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。
21.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protectedC、private protectedD、public 22.设有下面两个赋值语句:a = Integer.parseInt(“1024”);b = Integer.valueOf(“1024”).intValue();下述说法正确的是()。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。
D、a和b都是整数类型变量并且它们的值相等。
23.在Java Applet程序用户自定义的Applet子类中,常常重载( D)方法在Applet的界面中显示文字、图形和其它界面元素。
A、start( )B、stop( )C、init( )D、paint( )24.在Java中,存放字符串常量的对象属于()类对象。
A、CharacterB、StringC、StringBufferD、Vector25.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包。
A、java.ioB、java.awtC、java.appletD、java.awt.event26.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用()类的对象来实现。
A、LabelB、ButtonC、TextAreaD、TextField27.创建一个标识有“关闭”按钮的语句是( )。
A、TextField b = new TextField(“关闭”);B、Label b = new Label(“关闭”);C、Checkbox b = new Checkbox(“关闭”);D、Button b = new Button(“关闭”);28.在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A、if – elseB、switchC、tryD、throw29.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句。
A、import java.awt.* ;B、import java.applet.* ;C、import java.io.* ;D、import java.awt.event.* ;30.对于子类的构造函数说明,下列叙述中不正确的是()。
A、子类无条件地继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
二、填空题。
(10x2=20分)1.顺序执行以下两个语句的输出结果是:。
String s = “我喜欢学习Java!”;System.out.println(s.length( ));2.据程序的构成和运行环境的不同,Java源程序分为两大类:程序和程序。
3.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生个文件名与类名相同而扩展名为的字节码文件。
4.开发与运行Java程序需要经过的三个主要步骤为、和。
5.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名必须为。
6.创建一个名为MyPackage 的包的语句是,该语句应该放在程序的位置为:。
7.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
方法是不能被当前类的子类重新定义的方法。
8.多态是指,在Java中有两种多态,一种是使用方法的实现多态,另一种是使用方法的实现多态。
9.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };则执行以下几个语句后的输出结果是。