Java应用开发:基础知识 试卷及答案 C卷_第1页
Java应用开发:基础知识 试卷及答案 C卷_第2页
Java应用开发:基础知识 试卷及答案 C卷_第3页
Java应用开发:基础知识 试卷及答案 C卷_第4页
Java应用开发:基础知识 试卷及答案 C卷_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

专业名称:Java应用开发:基础知识

试题名称:Java应用开发:基础知识试卷C

1

北京智酷道捷教育科技有限公司

年月

目录

一、试卷说明........................................................................3

二、考试时间........................................................................3

三、试酶型........................................................................3

1.单选题......................................................................3

2.多蠲.....................................................................10

3.填空题.....................................................................11

4.简答题.....................................................................12

5.编程题.....................................................................12

四、试题答案.......................................................................12

五、评分标准.......................................................................18

一、试卷说明

本试卷分为单选题、多选题、填空题、简答题和编程题。试卷难易度大致可分为"容易、

中等偏易、中等偏难、难"。试卷不同难易度试题所占的分数比例大致依次为易占30分、

中等偏易占30分、中等偏难占2。分、难占20分。

二、考试时间

本次考试一共120分钟。

三、试题题型

1.单选题(每题2分,共计40分)

(1)如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是()

A、publicB、protected

C、privateD、static

(2)在Java中,不属于整数类型变量的是()

A、doubleB、longC、intD、byte

(3)System.out.println("3"+2);的输出结果应该是()

A、32B、3C、2D、5

(4)朋intk=l;while(k++<10);执彳亍后,变量k的彳甥()

A、10B、11C、9D、无限循环,值不定

(5)下面关于m叩集合说法正确的是()

A、map集合中不能直接使用Iterator进行迭代

B、对m叩集合使用keyset方法,会得到所有value的值组成一个list集合

C、使用m叩的叩pend方法可以向m叩集合中添加元素

D、使用removeAII方法可以将map集合中的元素清空

(6)关于被私有访问控制符private修饰的成员变量,以下说法正确的是()

A、可以被三种类所引用:绕自身、与它在同一个包中的其他类、在其他包中的该类

的子类

B、可以被两种类访问和引用:该类本身、该类的所有子类

C、只能被该类自身所访问和修改

D、只能被同一个包中的类访问

(7)在java中,关于switch的说法正确的是()

A、switch。括号里必'须放一个整数常量或字符型常量

B、case后必须是一个整形或字符型的常量表达式

C、default表示不考虑其他case语句,优先执行

D、break表示跳出当前case块,继续执行其他case块。

(8)以下关于抽象类和接口的描述,错误的是()

A、抽象类中定义的方法必须是抽象方法

B、接口中定义的方法必须是抽象方法

C、抽象类描述同一类别、具有共同特性的事物

D、接口描述需要遵循相同约束的事物

(9)下面是有关子类继承父类构造函数的描述,其中正确的是()

A、创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数

B、子类无条件地继承父类不含参数的构造函数

C、子类必须通过super关键字调用父类的构造函数

D、子类无法继承父类的构造函数

(10)在Java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下

语句正确的是()

A、interfaceAextendsB,C

B、interfaceAimplementsB,C

C、classAimplementsB,C

D、classAimplementsB,implementsC

(11构造ArrayList类的一个实例此类继承了List接口下列哪个方法是正确的

A、ArrayListmyList=newObject()B、ListmyList=newArrayList()

C、ArrayListmyList=newList()D、ListmyList=newList()

(12)如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()

A、FilelnputStreamB、FileOutputStream

C、DataOutputStreamD、FileWriter

(13)下列程序的执行,说法错误的是()

publicclassMultiCatch

(

publicstaticvoidmain(Stringargs[])

{

try

inta=args.length;

intb=42/a;

intc[]={l};

c[42]=99;

System.out.println("b="+b);

)

catch(ArithmeticExceptione)

(

System.out.println("除0异常f+e);

)

catch(ArrayIndexOutOfBoundsExceptione){

System.out.println("数组超越边界异常f+e);

)

)

)

A、程序将输出第15行的异常信息

B、程序第10行出错

C、程序将输出“b=42”

D、程序将输出第15和19行的异常信息

(14)下列程序的执行,说法正确的是()

classExMulti

staticvoidprocedureQ

try

intc[]={l};c[42]=99;

)

catch(ArrayIndexOutOfBoundsExceptione)

{

System.out.println("数组超越界限异常+e);

)

)

publicstaticvoidmain(StringargsQ)

(

try

(

procedureO;

inta=args.length;intb=42/a;

System.out.println("b="+b);

)

catch(ArithmeticExceptione)

System.out.println("除0异常:"+e);

}

)

)

A、程序只输出第12行的异常信息

B、程序只输出第26行的异常信息

C、程序将不输出异常信息

D、程序将输出第12行和第26行的异常信息

(15)下面关于线程的说法错误的是()

A、线程其实就是进程中的一个控制单元,它负责就是程序的执行。一个进程中至少有

f线程

B、当一个类实现了Runnable接口后,并实现了其run方法,就可以直接调用这个类

的start方法开启线程

C、继承Thread类或者实现Runnable接口都可以封装线程要执行的任务

D、Thread类本身就是一个线程类,可以直接创建Thread类对象,开启线程

(16)Dog是Animal的子类,下面代码错误的是()

A、Animala=newDog();

B、Animala=(Animal)newDog();

C、Dogd=newAnimal();

D、Objecto=newDog();

(17)以下哪个方法用于定义线程的执行体?()

A、start()B、init()C、run()D、main()

(18)关于sleep。和wait(),以下描述错误的一项是()

A、sleep是线程类(Thread)的方法,wait是Object类的方法

B、Sleep不释放对象锁,wait放弃对象锁

C、Sleep暂停线程、但监控状态任然保持,结束后会自动恢复

D、Wait后进入等待锁定池,只针对此对象发出notify方法后获取对象锁进入运行状态

(19)下面哪个不能直接导致一个线程停止执行?()

A、调用yieldO方法

B、在一个又搀上调用wait(]方法

C、在一个对象上调用notify0方法

D、在一个对象上调用Interrupt。方法

(20)下面程序的运行结果()

publicstaticvoidmain(String[]args){

Threadt=newThread(){

publicvoidrun(){

pong();

)

);

t.runQ;

System.out.println("ping");

)

staticvoidpong(){

System.out.println("pong");

)

A、pingpong

B、pongping

C、pingpong和pongping都有可能

D、都不输出

2.多选题(每题2分,共计10分)

(1)下列哪些集合属于Collection的子类()

A、TreeMap

B、Hashtable

C、ArrayList

D、HashSet

2.以下构成方法重载的是()

A、publicvoidadd(intxjnty){}

publicvoidadd(inta,intb){}

B、publicintadd(intxjnty){}

publicvoidadd(intxjnty,intz){}

C、publicStringadd(intxjnty){}

publicStringadd(Longx){}

D、publicvoidadd(intxjntyjntz){}

publicvoidaddl(Stringa,Stringb,Stringc){}

(3)Java中,下列关于方法重载的说法中错误的是()

A、方法重载要求方法名称必须相同

B、重载方法的参数列表必须不一致

C、重载方法的返回类型必须一致

D、一个方法在所属的类中只能被重载一次

(4)以下关于final关键字说法错误的是()

A、final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性

B、final修饰的类肯定不能被继承

C、final修饰的方法不能被重载

D、final修饰的变量不允许被再次赋值

(5)下列哪个方法可用于创建一个可运行的类?()

A、publicclassXimplementsRunable{publicvoidrun(){......}}

B、publicclassXimplementsThread{publicvoidrun(){......}}

C、publicclassXimplementsThread{publicintrun(){......}}

D、publicclassXimplementsRunable{protectedvoidrunO{……}}

E、publicclassXimplementsThread{publicvoidrun(){......}}

3.填空题(每题2分,共计10分)

(1)Java中有两种多态,一种是使用方法的实现多态,另一种是使用方法

的______实现多态。

(2)在Java程序中,通过类的定义只能实现________重继承,但通过接口的定义可以

实现_____重继承关系。

(3)设x=2,则表达式(x++)*3的值是

(4)若x=5,y=10,则x>y和x<=y的逻辑值分别为和

(5)______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必

须在抽象类之中定义_________方法是不能被当前类的子类重新定义的方法。

4.简答题(每题5分,共计20分)

(1)分别说出5个常用的类、包和接口(5分)

(2)转发和重定向有哪些区别?(5分)

(3)使用static修饰的类、方法、代码块有什么特点?(5分)

(4)方法重写和方法重载有什么特点和区别?(5分)

5.编程题(共计20分)

(1)代码实现一个单例模式.(5分)

(2)代码实现冒泡排序。(5分)

(3)打印输出10行杨晖三角形。(10分)

四、试题答案

1.单选题

CAABACBACCBACDBCCDCB

2.多选题

(CD)(BC)(CD)(AC)(AE)

3.填空题

(1)重载重写(2)单多(3)6(4)false,true

(5)抽象方法、最终方法(或abstract方法、final方法)

4.简答题

(1)

类:

Object:ArrayFileReaderFileWriter

Inputstream、Outputstream

ReaderFilelnputStreamBufferedReaderBufferedWriter

BufferedlnputStreamDate

FileExceptionHashSetsHashMap

Integer.Float、String

List、M叩、Set

PatternRandomRequest,ResponseSystemThread

常用的包:

java.iojava.langjava.utiljava.sqljavax.servlet

常用的接口:

CollectionSetListMapIterator等

(2)

1)转发在服务器端完成的;重定向是在客户端完成的

2)转发的速度快;重定向速度慢

3)转发的是同一次请求;重定向是两次不同请求

4)转发先执行转发的页面的代码,再回来执行后面的代码;重定向会在当前页面代码

执行完毕后,翳阵专到指定的页面执行其他代码。

5)转发地址栏没有变化;重定向地址栏有变化

6)转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

(3)

类:static修饰的类只能为内部类,普通类无法用static关键字修饰。static修饰的内

部类相当于一个普通的类,访问方式为(new外部类名.内部类的方法()\

方法:会使这个方法成为整个类所公有的方法,可以用类名•方法名访问。静态方法中

不能用this和super关键字,不能直接访问所属类的实例变量和实例方法,只能访问所属

类的静态成员变量和成员方法。

代码块:static{},static修饰初始代码块,这时这个初始代码块就叫做静态初始代码

块,该代码块只在类加载时被执行一次,并且只被执行一次。

(4)

重写:Override,重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回

值和形参都不能改变。

重载:重载(overloading)是在一个类里面,方法名字相同,而参数不同。返回类型可

以相同也可以不同。

5.编程题

(1)饿汉式懒汉式均可

publicclassDemol_Singleton{

publicstaticvoidmain(String[]args){

Singletonsi=Singleton.getlnstance();

Singletons2=Singleton.getlnstance();

System.out.println(sl==s2);

)

)

〃方法一:饿汉式

//classSingleton{

//〃L私有构造函数,其他类不能访问该构造方法

//privateSingleton(){

//)

//

//〃2,创建本类又掾

//privatestaticSingletons=newSingleton();

//

//〃3,对外提供公共的访问方法

//publicstaticSingletongetlnstance(){/廖取对象

//returns;

//)

//)

〃方法二:懒汉式(单例的延迟加载模式)

classSingleton{

〃L私有构造函数

privateSingleton(){

)

〃2,声明一个本类的引用

privatestaticSingletons;

〃3,对外提供公共的访问方法

publicstaticSingletongetlnstanceQ{

if(s==null)

〃线程L线程2

s=newSingletonQ;

returns;

)

)

(2)写出嵌套循环的逻辑

publicstaticvoidbubbleSort(int[]arr){

for(inti=0;i<arr.

温馨提示

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

评论

0/150

提交评论