java测试题及详解.docx

上传人:b****8 文档编号:11388749 上传时间:2023-02-28 格式:DOCX 页数:20 大小:90.45KB
下载 相关 举报
java测试题及详解.docx_第1页
第1页 / 共20页
java测试题及详解.docx_第2页
第2页 / 共20页
java测试题及详解.docx_第3页
第3页 / 共20页
java测试题及详解.docx_第4页
第4页 / 共20页
java测试题及详解.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

java测试题及详解.docx

《java测试题及详解.docx》由会员分享,可在线阅读,更多相关《java测试题及详解.docx(20页珍藏版)》请在冰豆网上搜索。

java测试题及详解.docx

java测试题及详解

1,在一棵二叉树上第6层的结点数最多是______。

A、8

B、16

C、32

D、15

答案解析:

根据二叉树的性质:

二叉树第i(i≥1)层上至多有2i-1个结点。

得到第5层的结点数最多是16。

本题答案为C。

2,下面叙述正确的是______。

A、算法的执行效率与数据的存储结构无关

B、算法的空间复杂度是指算法程序中指令(或语句)的条数

C、算法的有穷性是指算法必须能在执行有限个步骤之后终止

D、以上三种描述都不对

答案解析:

但算法的实现必须借助程序设计语言中提供的数据类型及其算法。

数据结构和算法是计算机科学的两个重要支柱。

它们是一个不可分割的整体。

算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。

算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

本题答案为C。

3,关系数据库管理系统能实现的专门关系运算包括(  )。

A.排序、索引、统计

B.选择、投影、连接

C.关联、更新、排序

D.显示、打印、制表

[正确答案]B

关系数据库管理系统能实现的专门关系运算包括选择、投影、连接

4,在软件开发中,下面任务不属于设计阶段的是______。

A、数据结构设计

B、给出系统模块结构

C、定义模块算法

D、定义需求并建立系统模型

答案解析:

软件设计一般分为总体设计和详细设计两个阶段,总体设计的任务是确定软件的总体结构,子系统和模块的划分,并确定模块间的接口和评价模块划分质量,以及进行数据分析。

详细设计的任务是确定每一模块实现的定义,包括数据结构、算法和接口。

本题答案为D。

5,在匹配器(Matcher)类中,用于输入字符串与模式串比较的方法是。

A、staticbooleanmatches()

B、booleanmatcher.find()

C、intmatcher.start()

D、intmatcher.end()

答案解析:

本题考查的是Matcher类。

在J2SE1.4中的正则表达式包中存在一个匹配器类。

该类用于将一个输入字符串与模式串进行比较,在这个类中通过matches方法用来对输入字符串与模式串的比较,如果匹配成功则返回true否则返回false;matcher.find()方法用来寻找下一模式匹配串;matcher.start()用来返回匹配串的一个起始索引整数值;matcher.end()用来返回匹配串的终止索引整数值。

故本题答案为A。

6,下列关于栈的描述中错误的是( )。

A.栈是先进后出的线性表

B.栈只能顺序存储

C.栈具有记忆作用

D.对栈的插入与删除操作中,不需要改变栈底指针

答案:

B

栈也可以链式存储

栈也是线性表,

因此线性表的存储结构对栈也适用

线性表可以链式存储

7,,为了使模块尽可能独立,要求( )。

A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

答案:

B

解析:

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。

它描述的是模块内的功能联系;

耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

8,用树形结构表示实体之间联系的模型是( )。

A.关系模型

B.网状模型

C.层次模型

D.以上三个都是

答案:

C

解析:

树形结构用层次模型表示实体之间联系

9,下列属于合法的Java标识符是

A._cat

B.5books

C.+static

D.-3.14159

答案:

A

解析:

不能以数字或+-作为标识符的开头。

10,在Java中,表示换行符的转义字符是

A.\n

B.\f

C.'n'

D.\dd

答案:

A

解析:

表示换行符的转义字符是:

\n

11十进制数16的16进制表示格式是

A.0x10

B.0x16

C.0xA

D.16

答案:

A

16进制以Ox开头,A选项表示:

1X16的一次方+0X16d的0次方。

12,按照Java的标识符命名规范,下列表示一个类的标识符正确的是 

A.Helloworld 

B.HelloWorld 

C.helloworld 

D.helloWorld 

答案:

类标示符:

每个单词的的首字母都大写。

13,按照“后进先出”原则组织数据的数据结构是(B)

A.队列 

B.栈

C.双向链表 

D.二叉树

解析:

栈“后进先出”队列“先进先出”。

14,在深度为7的满二叉树中,叶子结点的个数为(C)

A.32 

B.31 

C.64 

D.63

解析:

2的7-1次方。

15,阅读下列代码

publicclassTest{

publicstaticvoidmain(Stringargs[]){

System.out.println(89>>1);

}

}

其运行结果是(A)

A)44 

B.45 

C.88 

D.90

解析:

89>>1相当于89X(1/2)取整。

16,线程生命周期中正确的状态是(C)

A.新建状态、运行状态和终止状态

B.新建状态、运行状态、阻塞状态和终止状态

C.新建状态、可运行状态、运行状态、阻塞状态和终止状态

D.新建状态、可运行状态、运行状态、恢复状态和终止状态

解析:

线程生命周期:

新建状态、可运行状态、运行状态、阻塞状态和终止状态

17,Java语言使用的字符码集是(D)

A.ASCII 

B.BCD 

C.DCB 

D.Unicode

解析:

ava语言使用的字符码集是Unicode。

18,下列数组a中,能在程序运行时动态调整大小的是。

A、inta[]

B、String[]a

C、a=newArrayList()

D、a=newArray()

本题考查的是数组大小的调整。

Java语言中用一种特殊的类-java.util.ArrayList(数组列表)在运行时动态调整数组的大小。

ArrayList类在定义数组时,不必限定数组的大小。

故本题答案为C。

19已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为

A.GEDHFBCA

B.DGEBHFCA

C.ABCDEFGH

D.ACBFEDHG

答案:

B

解析:

前序遍历第一个字母为A,中序遍历DBGEACHF在A前面的都属于左子树及(DBGE是左子树)且A是根节点。

A右边的是有字数。

依次递归类推。

20,树是结点的集合,它的根结点数目是

A.有且只有1

B.1或多于1

C.0或1

D.至少2

答案:

A

树是结点的集合,它的根结点数目是有且只有1。

21,如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是

A.e3,e1,e4,e2

B.e2,e4,e3,e1

C.e3,e4,e1,e2

D.任意顺序

答案:

B

解析:

栈先进后出。

A选项e3先出所以e1不会出现在e2前面,C项同理。

22,在设计程序时,应采纳的原则之一是

A.不限制goto语句的使用

B.减少或取消注解行

C.程序越短越好

D.程序结构应有助于读者理解

答案:

D

23,程序设计语言的基本成分是数据成分、运算成分、控制成分和

A.对象成分

B.变量成分

C.语句成分

D.传输成分

答案:

D

24,解析:

程序设计语言的基本成分是数据成分、运算成分、控制成分和传输成分。

25,下列叙述中,不属于软件需求规格说明书的作用的是

A.便于用户、开发人员进行理解和交流

B.反映出用户问题的结构,可以作为软件开发工作的基础和依据

C.作为确认测试和验收的依据

D.便于开发人员进行需求分析

答案:

D

26,下列不属于软件工程的3个要素的是

A)工具

B.过程

C.方法

D.环境

答案:

D

软件工程的3个要素的是:

工具,过程,方法。

27,单个用户使用的数据视图的描述称为

A.外模式

B.概念模式

C.内模式

D.存储模式

答案:

A

解析:

外模式也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

概念模式(ConceptualSchema)也称为模式或逻辑模式,对应于概念级数据库。

概念模式是数据库中全体数据的整体逻辑结构和特征的描述,是所有用户的公共数据视图,用以描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系。

内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,

28,将E-R图转换到关系模式时,实体与联系都可以表示成

A.属性

B.关系

C.键

D.域

答案:

B

解析:

E-R图转换到关系模式时,实体与联系都可以表示成关系

29,SQL语言又称为

A.结构化定义语言

B.结构化控制语言

C.结构化查询语言

D.结构化操纵语言

答案:

C

解析:

sQL语言又称为结构化查询语言

30,“商品”与“顾客”两个实体集之间的联系一般是(D)

A.一对一 

B.一对多

C.多对一 

D.多对多

解析:

一个顾客可以购买多个商品,一种商品也可以由锁个顾客购买。

(9)在E—R图中,用来表示实体的图形是(A)

A.矩形

B.椭圆形

C.菱形 

D.三角形

解析:

在E—R图中,用来表示实体的图形是矩形菱形表示关系,椭圆形表示属性。

31,数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是(C)

A.DB包含DBS和DBMS 

B.DBMS包含DB和DBS

C.DBS包含DB和DBMS 

D.没有任何关系

解析:

数据库系统DBS包括数据库DB和数据库管理系统DBMS

32,Java语言中,负责并发管理的机制是(D)

A.垃圾回收 

B.虚拟机

C.代码安全 

D.多线程

解析:

Java语言中,负责并发管理的机制是多线程

33,按运算符操作数的数目划分,运算符?

:

的类型是。

A、B、二元

C、四元

D、一元

本题考的是运算符。

"?

:

"是条件运算符,条件运算符是三元运算符。

三元条件表达式的一般形式为:

expressinon1?

expression2:

expression3

其中表达式expression1应该是关系或布尔表达式,其计算结果为布尔值。

如果该值为true,则计算表达式expression2,并将计算结果作为整个表达式的结果;如果为false,则计算表达式expression3,将计算结果作为条件表达式的结果。

故本题答案为A。

34,当检索一个压缩文件时,首先要建立压缩文件输入流对象。

该对象。

A、以选中的压缩文件为参数

B、以FileInputStream对象为参数

C、以InputStreamReader对象为参数

D、以BufferedReader对象为参数

在java.io包中提供了对压缩文件进行操作的能力。

它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。

在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。

计算机中的流是。

35,以下表达式是不合法的。

A、Stringx="Hello";inty=9;x+=y;

B、Stringx="Hello";inty=9;if(x==y){}

C、Stringx="Hello";inty=9;x=x+y;

D、Stringx=null;inty=(x!

=null)&&(x.length()>0)?

x.length():

0

本题考查的是表达式。

Java对"+"进行了扩展,不仅可以连接字符串,而且还能将字符串与其它类型数据进行连接,结果是字符串。

若"+"的第一个操作数是字符串,Java会自动将后面的操作数类型转换成字符串类型。

例如本题选项A中,x+=y即x=x+y,则计算结果x的值为字符串Hello9;选项C与此类似,故此选项也是正确的;选项D主要考查的是条件运算符"?

:

",即把表达式(x!

=null)&&(x.length()>0)?

x.length():

0的值赋给整型变量y,运行结果y的值是0;而选项B是因为"=="两边的类型不匹配,无法比较,所以此表达式是错误的。

故本题答案为B。

36,下列是反斜杠字符的正确表示。

A、\\

B、*\\

C、\

D、\'\'

本题考查的是转义字符。

Unicode字符集中对一些字符必须用转义字符。

转义字符以反斜杠(\)开头,如"\n"表示换行符,"\\"表示反斜杠。

故本题答案为A。

37,假设有以下代码

Strings="hello";

Stringt="hello";

charc[]={'h','e','l','l','o'};

下列选项中返回false的语句是。

 

A、s.equals(t);

B、t.equals(c);

C、s==t;

D、t.equals(newString("hello"));

本题考查的是比较方法的使用。

==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其它对象都返回假。

需要指出的是由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析),因此答案C也是正确的。

故本题答案为B。

38,paint()方法使用______类型的参数。

A、Graphics

B、Graphics2D

C、String

D、Color

本题考查的是Applet中paint方法的参数。

paint()方法:

Applet的paint()方法具体执行Applet的绘制,该方法定义如下:

publicvoidpaint(Graphicsg)

paint()方法只有一个参数g是Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于Applet的画笔。

在调用paint()方法时,由浏览器将该对象传递给paint()方法。

故本题答案为A。

39,下列程序运行的结果是______。

publicclassExample{

Stringstr=newString("good");

char[]ch={'a','b','c'};

publicstaticvoidmain(Stringargs[]){

Exampleex=newExample();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+"and");

System.out.print(ex.ch);

  }

publicvoidchange(Stringstr,charch[]){

str="testok";

ch[0]='g';

  }

}

A、goodandabc

B、goodandgbc

C、testokandabc

D、testokandgbc

本题考查的是条件语句的使用。

Java语言中,原始数据类型变量是按值传递的,引用类型变量是按地址传递的。

故本题答案为B。

40,给出下面代码:

publicclassPerson{

  staticintarr[]=newint[10];

  publicstaticvoidmain(Stringa[])

  {

   System.out.println(arr[1]);

  }

}

______语句是正确的。

A、编译时将产生错误

B、编译时正确,运行时将产生错误

C、输出0

D、输出空

本题考查的是数组的初始化问题。

Java中对于整数数组如果没有指点数组的值会自动的用0填充整个数组。

故本题答案为C。

一、基本操作题   

  在下画线上补充代码。

   

  本题的功能是输出字符串"welcome!

"和表达式"a/b=  

  c",以及输出"\\do something"。

   

  Public class javal{  

  Pubhc static void main(string[]args){  

  System.out.println(     );   

  System.out.println(     );   

  System.out.println(     );   

  }  

 一、基本操作题   

  第1处:

"\"Welcome!

\""  

  第2处:

"a/b=C"  

  第3处:

"\\\\do something"  

  【解析】本题考查的是不同的数据类型的输出方式,以及转义字符的使用。

第l处与第3处含有特殊字符,输出时要使用转义字符。

 

二:

由于n!

=1*2*3*…*n,所以可用循环来求得阶乘的结果。

在本题已出现do,故用do-while循环,又因为本题在定义变量时用f来保存阶乘的结果,i表示循环变量。

故本题所填循环体为:

f=f*i和判断条件为:

while(n>=i)。

具体程序如下:

importjava.util.Random;

publicclassJava_2

{

publicstaticvoidmain(Stringargs[]){

Randomrandom=newRandom();

floatp=random.nextFloat();//产生0.0与1.0之间的一个浮点数

intn=Math.round(10*p);//构造10以内的一个整数

longf=1;//保存阶乘的结果

inti=1;//循环变量

//*********Found********

do{f=f*i;//在每次i满足条件的情况下累计求积,此空还可以以f*=i形式填写(第一次执行此语句时并不判断条件)

i++;

//*********Found********

}while(n>=i);//判断条件,直到n

System.out.println(n+"!

="+f);

}

}

 

三,本题的要求是:

下面是整数除法计算的程序,要求在出现异常时,能抛出异常信息。

考虑两种异常:

1)输入非数字除数

2)输入除法分母为零

该程序运行的三种结果状态如下:

1)输入两个合法整数:

2)输入非数字除数:

3)输入除数为零:

 

具体程序及其语句解释如下:

importjava.awt.event.*;

importjava.awt.*;

importjavax.swing.*;

importjava.text.*;

//*********Found********

publicclassJava_3extendsJFrameimplementsActionListener{

privateJTextFieldinput1,input2,output;

privateintnumber1,number2;

privatedoubleresult;

//初始化

publicJava_3()

{

//*********Found********

super("示范异常");//调用父类JFrame的构造函数

Containerc=getContentPane();//调用父类JFrame的方法getContentPane()

c.setLayout(newGridLayout(3,2));//设置布局管理器,其布局为3行2列

c.add(newJLabel("输入分子",SwingConstants.RIGHT));//在容器c中加入标签"输入分子"

input1=newJTextField(10);//创建一个长度为10个字符的文本框的对象input1

c.add(input1);//将文本框的对象input1放入c容器中

c.add(newJLabel("输入分母和回车",SwingConstants.RIGHT));//在容器c中加入标签"输入分母和回车"

input2=newJTextField(10);//创建一个长度为10个字符的文本框的对象input2

c.add(input2);//将文本框的对象input2放入c容器中

input2.addActionListener(this);//注册监听器

c.add(newJLabel("计算结果",SwingConstants.RIGHT));//在容器c中加入标签"计算结果"

output=newJTextField();//创建文本框对象output

c.add(output);//将文本框的对象output放入c容器中

setSize(300,100);//设置所显示的对话的框的大小

show();

}

//处理GUI事件

publicvoidactionPerformed(ActionEvente)

{

DecimalFormatprecision3=newDecimalFormat("0.000");//创建DecimalFormat对象precision3,使得double型的数据转换成为保留3位小数位数输出

output.setText("");//空的JTextField输出

try{

number1=Integer.parseInt(input1.getText());

number2=Integer.parseInt(input2.getText());

result=quotient(number1,number2);

//*********Found********

output.setText(precision3.format(result));//将保留3位小数位数的除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1