java测试题及详解Word格式.docx
- 文档编号:7890706
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:20
- 大小:90.45KB
java测试题及详解Word格式.docx
《java测试题及详解Word格式.docx》由会员分享,可在线阅读,更多相关《java测试题及详解Word格式.docx(20页珍藏版)》请在冰点文库上搜索。
B.栈只能顺序存储
C.栈具有记忆作用
D.对栈的插入与删除操作中,不需要改变栈底指针
答案:
B
栈也可以链式存储
栈也是线性表,
因此线性表的存储结构对栈也适用
线性表可以链式存储
7,,为了使模块尽可能独立,要求( )。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
解析:
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。
它描述的是模块内的功能联系;
耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
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
表示换行符的转义字符是:
\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
B
类标示符:
每个单词的的首字母都大写。
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
树是结点的集合,它的根结点数目是有且只有1。
21,如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
A.e3,e1,e4,e2
B.e2,e4,e3,e1
C.e3,e4,e1,e2
D.任意顺序
栈先进后出。
A选项e3先出所以e1不会出现在e2前面,C项同理。
22,在设计程序时,应采纳的原则之一是
A.不限制goto语句的使用
B.减少或取消注解行
C.程序越短越好
D.程序结构应有助于读者理解
D
23,程序设计语言的基本成分是数据成分、运算成分、控制成分和
A.对象成分
B.变量成分
C.语句成分
D.传输成分
24,解析:
程序设计语言的基本成分是数据成分、运算成分、控制成分和传输成分。
25,下列叙述中,不属于软件需求规格说明书的作用的是
A.便于用户、开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
D
26,下列不属于软件工程的3个要素的是
A)工具
B.过程
C.方法
D.环境
答案:
软件工程的3个要素的是:
工具,过程,方法。
27,单个用户使用的数据视图的描述称为
A.外模式
B.概念模式
C.内模式
D.存储模式
外模式也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
概念模式(ConceptualSchema)也称为模式或逻辑模式,对应于概念级数据库。
概念模式是数据库中全体数据的整体逻辑结构和特征的描述,是所有用户的公共数据视图,用以描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系。
内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,
28,将E-R图转换到关系模式时,实体与联系都可以表示成
A.属性
B.关系
C.键
D.域
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,将计算结果作为条件表达式的结果。
34,当检索一个压缩文件时,首先要建立压缩文件输入流对象。
该对象。
A、以选中的压缩文件为参数
B、以FileInputStream对象为参数
C、以InputStreamReader对象为参数
D、以BufferedReader对象为参数
在java.io包中提供了对压缩文件进行操作的能力。
它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。
在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。
计算机中的流是。
35,以下表达式是不合法的。
A、Stringx="
Hello"
;
inty=9;
x+=y;
B、Stringx="
if(x==y){}
C、Stringx="
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!
0的值赋给整型变量y,运行结果y的值是0;
而选项B是因为"
=="
两边的类型不匹配,无法比较,所以此表达式是错误的。
故本题答案为B。
36,下列是反斜杠字符的正确表示。
A、\\
B、*\\
C、\
D、\'
\'
本题考查的是转义字符。
Unicode字符集中对一些字符必须用转义字符。
转义字符以反斜杠(\)开头,如"
\n"
表示换行符,"
\\"
表示反斜杠。
37,假设有以下代码
Strings="
hello"
Stringt="
charc[]={'
h'
'
e'
l'
o'
};
下列选项中返回false的语句是。
A、s.equals(t);
B、t.equals(c);
C、s==t;
D、t.equals(newString("
));
本题考查的是比较方法的使用。
==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其它对象都返回假。
需要指出的是由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析),因此答案C也是正确的。
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'
};
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语言中,原始数据类型变量是按值传递的,引用类型变量是按地址传递的。
40,给出下面代码:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[])
{
System.out.println(arr[1]);
______语句是正确的。
A、编译时将产生错误
B、编译时正确,运行时将产生错误
C、输出0
D、输出空
本题考查的是数组的初始化问题。
Java中对于整数数组如果没有指点数组的值会自动的用0填充整个数组。
一、基本操作题
在下画线上补充代码。
本题的功能是输出字符串"
welcome!
和表达式"
a/b=
c"
,以及输出"
\\do
something"
。
Public
class
javal{
Pubhc
static
void
main(string[]args){
System.out.println(
);
}
一、基本操作题
第1处:
\"
Welcome!
第2处:
a/b=C"
第3处:
\\\\do
【解析】本题考查的是不同的数据类型的输出方式,以及转义字符的使用。
第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++;
}while(n>
=i);
//判断条件,直到n<
i为止
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()
{
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("
输入分母和回车"
input2=newJTextField(10);
//创建一个长度为10个字符的文本框的对象input2
c.add(input2);
//将文本框的对象input2放入c容器中
input2.addActionListener(this);
//注册监听器
计算结果"
SwingConstants.RIGHT));
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);
output.setText(precision3.format(result));
//将保留3位小数位数的除
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 测试 详解