Java竞赛基础试题附带详细答案_第1页
Java竞赛基础试题附带详细答案_第2页
Java竞赛基础试题附带详细答案_第3页
Java竞赛基础试题附带详细答案_第4页
Java竞赛基础试题附带详细答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java竞赛基础试题附带详细答案考试时间:______分钟总分:______分姓名:______一、单项选择题(每题2分,共30分)1.在Java中,以下关于String类的说法正确的是A.Stringstr="hello";str=str+"world";这里的str指向的是堆内存B.String是不可变的,一旦被创建就不能修改C.Stringstr=newString();会创建两个对象D.Stringstr="hello";str=str+"world";底层创建了新的String对象2.执行以下代码,输出结果是Strings1=newString("abc");Strings2="abc";System.out.println(s1==s2);System.out.println(s1.equals(s2));A.true,trueB.false,trueC.true,falseD.false,false3.关于Java中的访问修饰符,以下说法正确的是A.protected修饰的成员变量可以在同一包的子类中访问,也可以在不同包的子类中访问B.private修饰的成员变量只能被当前类访问C.public修饰的成员变量可以在任何地方访问D.默认修饰符(default)可以在不同包的子类中访问4.以下哪个集合类是线程安全的?A.ArrayListB.LinkedListC.VectorD.HashSet5.在Java多线程中,如果两个或多个线程在同一个对象上同时执行synchronized修饰的方法,那么这些线程会A.同时执行,互不干扰B.串行执行,保证同一时刻只有一个线程执行该对象的方法C.随机执行D.抛出异常6.以下关于HashMap的说法正确的是A.HashMap是线程安全的B.HashMap允许key或value为nullC.HashMap的底层实现是链表D.HashMap在JDK1.7中是数组+链表,JDK1.8中引入了红黑树7.执行以下代码,输出结果是int[]arr=newint[5];System.out.println(arr[0]);A.0B.1C.nullD.抛出异常8.关于Java中的异常处理,以下说法正确的是A.finally块中的代码一定会执行B.catch块捕获异常后,程序会立即终止C.throw关键字用于抛出异常,throws关键字用于声明可能抛出的异常D.在try块中使用return语句,finally块中的代码不会执行9.以下哪个关键字用于定义接口?A.classB.interfaceC.implementsD.extends10.关于static关键字,以下说法正确的是A.static修饰的成员变量属于对象B.static方法中可以调用非static成员变量C.static块在类加载时执行,且只执行一次D.static方法中不能使用this关键字11.执行以下代码,输出结果是Strings="a"+"b"+"c";ern();Strings2="abc";System.out.println(s==s2);A.trueB.falseC.抛出异常D.编译错误12.关于ArrayList和LinkedList的区别,以下说法正确的是A.ArrayList的随机访问速度比LinkedList快B.LinkedList的插入和删除操作比ArrayList快C.ArrayList的底层是双向链表D.LinkedList在内存中是连续的13.在Java中,以下哪个类是所有类的父类?A.ObjectB.StringC.SystemD.Math14.执行以下代码,输出结果是inta=10;intb=20;if(a>b){System.out.println(a);}elseif(a==b){System.out.println("Equal");}else{System.out.println(b);}A.10B.20C.EqualD.抛出异常15.关于volatile关键字,以下说法正确的是A.它可以保证变量的原子性B.它可以保证变量的可见性C.它可以保证变量的有序性D.它可以替代synchronized关键字二、多项选择题(每题3分,共30分)1.关于Java中的Object类,以下说法正确的是A.所有类的直接或间接父类都是Object类B.Object类中定义了equals()和hashCode()方法C.Object类中定义了wait()和notify()方法D.Object类中定义了toString()方法2.以下哪些是Java的基本数据类型?A.intB.StringC.booleanD.double3.关于集合框架,以下说法正确的是A.List集合允许存储重复元素B.Set集合不允许存储重复元素C.Map集合存储的是键值对D.ArrayList的扩容机制是每次扩容为原来的2倍4.关于多线程,以下说法正确的是A.线程的生命周期包括新建、就绪、运行、阻塞和死亡B.守护线程在主线程结束时也会结束C.start()方法被调用后,线程会立即执行D.Thread类实现了Runnable接口5.关于泛型,以下说法正确的是A.泛型提供了编译时类型安全检测机制B.泛型中的类型参数只能是引用类型,不能是基本数据类型C.通配符<?>表示任何类型的集合D.泛型不支持类型推断6.关于StringBuffer和StringBuilder,以下说法正确的是A.StringBuffer是线程安全的B.StringBuilder是线程不安全的C.StringBuffer的方法都使用了synchronized修饰D.它们的append方法底层都是创建新对象7.以下哪些关键字可以用于终止循环或方法?A.breakB.continueC.returnD.exit8.关于继承,以下说法正确的是A.Java不支持多重继承B.子类可以继承父类的私有成员C.子类必须调用父类的无参构造函数D.super关键字可以用来调用父类的构造函数9.以下关于try-catch-finally块的说法,哪些是正确的?A.finally块中的代码一定会执行B.如果在try块中执行了return语句,finally块中的代码也会执行C.catch块可以捕获Exception及其子类D.如果try块中没有异常,catch块中的代码不会执行10.关于抽象类和接口,以下说法正确的是A.抽象类可以包含非抽象方法B.接口中的方法默认都是publicabstract的C.一个类只能实现一个接口D.抽象类不能被实例化三、填空题(每空2分,共20分)1.Java虚拟机(JVM)主要包含三个部分:栈区、堆区和________区。2.HashMap在JDK1.8中,当链表长度大于8且数组长度大于64时,链表会转换为________树。3.在Java中,使用________关键字来定义常量。4.以下代码的输出结果是________。intx=10;while(x>0){System.out.print(x+"");x--;}5.线程调用了wait()方法后,线程会进入________状态。6.在IO流中,________流用于处理字符,________流用于处理字节。7.如果一个类没有显式定义构造方法,Java编译器会提供一个________的构造方法。8.执行`Strings="hello";s.concat("world");System.out.println(s);`的输出结果是________。9.`ArrayListlist=newArrayList<>();`这里的泛型类型推断为________。10.使用`Math.random()`生成的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论