每一天都是全新的一天,都有全新的内容。不要满足于旧日的成果,不要沉湎于往日的磨难。放下过往的一切,全身心投入新的日子,全身心投入计算机等级考试题库-二级Java练习题。
二级Java练习题
【1】
1.构造方法名必须与()相同,它没有返回值,用户不能直接调用它,只能通过new调用。
A.类名
B.对象名
C.包名
D.变量名
2.在多线程并发程序设计中,能够给对象x加锁的语句是()。
A.X.wait()
B.synchronized(x)
C.X.notify()
D.x.synchronized()
3.Java中类0bjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是()。
A.Writer
B.DataOutput
C.OutputStream
D.ObjectOutput
4.在下列程序的空白处,应填入的正确选项是()。
Importjava.io.*;
PulilcclassObjectStreamTest{
Publilcstaticvoidmain(stringargs[])throwsIOEx-
ception{
OhiectOutputStreamoos=newOhjectOutputStream
(newFileOutputStream("serial.bin"));
Java.util.Dated=newJava.util.Date();
Oos(d);
ObjectInputStreamois=
newOhjectlnputStream(newFileOutputStream("serial.
bin"));
try{
java.util.daterestoredDate=
(Java.util.Date)ois.readObject();
System.out.println
("readobjectbackfromserial.binfile:"
+restoredDate);
}
Catch(ClassNotFoundExceptioncnf){
System.out.println("classnotfound");
}
}
A.WriterObject
B.Writer
C.BufferedWriter
D.writerObject
5.Class类的对象由()自动生成,隐藏在.class文件中,它在运行时为用户提供信息。
A.Java编译器
.Java解释器
C.Javanew关键字
D.Java类分解器
6.某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有结点数为()。
A.11
B.12
C.13
D.14
7.程序流程图中的菱形框表示的是()。
A.处理步骤
B.逻辑处理
c.物理处理
D.控制流向
8.在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的()方法。
A.start
B.local
C.interrupt
D.run
9.代码System.out.println(066)的输出结果是()。
A.12
B.36
C.54
D.66
10.表达式(10*49.3)的类型是()。
A.double
B.char
C.long
D.float
1.A。【解析】构造方法名必须与类名相同。
2.B。【解析】Java平台将每一个由synchronized(object)语句指定的对象设置一个锁,称为对象锁,是一种独占的排他锁。
3.C。【解析】ObjeetOutputStream的直接父类是0utputStream。
4.D。【解析】本题考查的是输入/输出及文件操作,writerObject方法是向数据流中写入数据。
5.A。【解析】class文件是由编译器生成的。
6.D。【解析】叶子结点总是比度为2的结点多一个。所以,具有5个度为2的结点的二叉树有6个叶子结点。总结点数一6个叶子结点+5个度为2的结点+3个度为1的结点一14个结点。
7.B。【解析】程序流程图的主要元素:①方框:表示一个处理步骤;②菱形框:表示一个逻辑处理;③箭头:表示控制流向。
8.D。【解析]Thread类本身实现了Runnable接口,所以可以通过继承Thread类,并重写run()方法定义线程体,然后创建该子类的对象创建线程。
9.C。【解析】066代表8进制数据的66等于十进制的54。
10.A。【解析】运算中自动类型转换按优先关系从低级数据转换成高级数据。规定的优先次序是byte,short,char→int→long→float→double。
【2】
1.用于设置组件大小的方法是()。
A.paint()
B.setSize()
C.getSize()
D.repaint()
2.单击窗口内的按钮时,产生的事件是()。
A.MouseEvent
B.WindowEvent
C.ActionEvent
D.KeyEvent
3.AWT中用来表示对话框的类是()。
A.Font
B.Color
C.Panel
D.Dialog
4.下列运算符中,优先级最高的是()。
A.+=
B.==
C.&&
D.++
5.下列运算结果为l的是()。
A.8>>1
B.4>>>2
C.8<<1
D.4<<<2
6.下列语句中,可以作为无限循环语句的是()。
A.for(;;){}
B.for(inti=0;i<10000;i++){}
C.while(false){}
D.do{}while(false)
7.下列表达式中,类型可以作为int型的是()。
A."abc"+"efg"
B."abc"+’ef9’
C.’a’+’b’
D.3+"4"
8.阅读下列程序:
PublicclassTestimplementsRunnable{
Privateintx=0l
Privateinty=0;
booleanflag=true;
Publicstaticvoidmain(string[]args){
Testr=newTest();
Theadtl=newThead(r);
Theadt2=newThead(r);
tl.start();
t2.start();
}
Publicvoidrun(){
While(flag){
x++;
y++;
system.out.println("("+x-","+y+")");
if(x>=10)
flag=false;
}
}
}
下列对程序运行结果描述的选项中,正确的是()。
A.每行的(x,y)中,可能有x≠y;每一对(x,y)值都出现两次
B.每行的(x,y)中,可能有x≠y;每一对(x,y)值仅出现一次
C.每行的(x,y)中,可能有x=y;每一对(x,y)值都出现两次
D.每行的(x,y)中,可能有x=y;每一对(x,y)值都出现
9.如果线程正处于运行状态,则它可能到达的下一个状态是()
A.只有终止状态
B.只有阻塞状态和终止状态
C.可运行状态、阻塞状态、终止状态
D.其他所有状态
10.在下列程序的空白处,应填入的正确选项
是()。
importjava.io.*;
PublicclasswriteInt{
Publicstaticvoidmain(string[]a){
Int[]myArray=(10,20,30,40);
try{
DataOutputSystemdos=newDataOutputSystem
(newFileOutputSystem("ints.dat"));
for(inti=0;ldos.writeInt(myArray[i]);
dos.;
System.Out.println
("Havewrittenbinaryfileints.dat");
}
Catch(IOExceptionioe)
{System.out.println("IOException"),
}
}
}
A.start()B.close()
C.read()D.write()
1.B。【解析】在构件类的方法中,paint()方法是绘制构件,setSize()方法是设置组件大小,getSize()方法是获得组件大小,repaint()方法是重新绘制构件。
2.C。【解析】在构件的事件类中,MouseEvent事件是鼠标事件,包括鼠标单击,移动;WindowEvent事件是窗口事件,包括关闭窗口,窗口闭合。图标化;ActionEvent事件是动作事件,包括按钮按下;TextField中按键;KeyEvent事件是键盘事件,包括键按下、释放。
3.D。【解析】Font和Color是构件的字体和外观颜色,Panel是面板容器,Dialog是对话框的类。
4.D。【解析】算术运算符的优先级中,++和--级别最高。
5.B。【解析】>>是按位右移运算符,<<是按位左移运算符,>>>是添零右移运算符,没有<<<运算符。
6.A。【解析】B的循环终止条件为l0000,C、D的终止条件为常量false,都不能无限循环。
7.C。【解析】字符型可以转为int型,但字符串不可以。
8.B。【解析】本题考查的是线程的知识,变量XY是在线程外部定义的,所以每一对(X,Y)只出现一次。
9.C。【解析】下一个状态可以是可运行状态、阻塞状态、终止状态中的任一种。
10.B。【解析]close方法关闭写文件。
【3】
1.阅读下列代码:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringargs){
System.out.println{arr[9]);
}
}
该代码的运行结果是()。
A.编译时将产生错误
B.编译时正确,运行时将产生错误
C.输出零
D.输出空
2.在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是()。
A.import
B.package
C.include
D.packet
3.继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码()。
A.可读性好
B.可重用
C.可跨包访问
D.运行更安全
4.阅读下列代码片段
classInterestTest——ActionListener{
public"voidactionPerformed(ActionEventevent){
doubleinterest=balance*rate/100;
balance+=interest;
NumberFormatformat=NumberFormat.getCur-
rencyInstance();
System.OUt.print]b("balance="+formatter.
format(balance));
}
Privatedoublerate;
}
在下画线处,应填的正确选项是()。
A.Implementation
B.Inheritance
C.implements
D.extends
5.下列方法中,不属于类Strin9的方法是()。
A.toLowerCase()
B.valueOf()
C.charAt()
D.append()
6.grid[9][5]描述的是()。
A.二维数组
B.一维数组
C.五维数组
D.九维数组
7.Java类库中,将信息写入内存的类是()。
A.java.io.FileOutputStream
B.java.io.ByteArrayOutputStream
C.java.io.BufferedOutputStream
D.java.io.DataOutputStream
8.阅读下列Java语句:
ObjectOutputStreamOUt=newObjeetOutputStream
(new("employee.dat"));
在下画线处,应填的正确选项是()。
A.File
B.FileWriter
C.FileOutputStream
D.Outputstream
9.使新创建的线程参与运行调度的方法是()。
A.run()
B.start()
C.init()
D.resume()
10.Java中的线程模型由三部分组成,与线程模型组无关的是()。
A.虚拟的CPU
B.程序代码
C.操作系统的内核状态
D.数据
参考答案:
1.C。【解析】arr[]为整型数组,分配地址后默认值为0,所以创建数组时也是对每个数组元素赋初值0。
2.A。【解析】定义一个包要用package关键字,使用一个包中的类时,首先要使用import导入这些类所在的包。include为C语言的包含头文件的关键字,不是Java的。
3.B。【解析】继承性是面向对象方法的一个重要基本特性,它使代码可重用,可降低程序复杂性。对一个类的继承是指在现有类(父类)的基础上构建一个新类(子类),子类重用(继承)了父类的方法和状态,同时还可以向新类中增添新的方法和状态。
4.D。【解析】继承父类应使用的关键词为extends。
25.D。【解析】String的方法中,toLowerCase()方法是转换成小写,valueof()方法是获得相应数值,eharAt()方法是提取字符串中指定位置的字符。append()是StringBuffer的方法。
6.A。【解析】这是一个二维数组,[]中的数字是每一维的大小。
7.B。【解析】在java.i0中,提供了ByteArrayInputStream、ByteArrayOutputStream和StringBuffednputStream类可以直接访问内存,其中用ByteArrayOutputStream可以向字节数组(缓冲区)写入数据。
8.C。【解析】ObjeetOutputStream即继承了0utputStream抽象类,又实现了ObjectOutput接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化了的对象。所以,此处应为串行化的文件输出流。
9.B。【解析】start()方法使线程参与运行调度。
10.C。【解析】Java中线程模型包含三部分,①一个虚拟的CPU;②该CPU执行的代码;③代码所操作的数据。
【4】
1.Java虚拟机(JVM)运行Java代码时,不会进行的操作是()。
A.加载代码
B.校验代码
C.编译代码
D.执行代码
2.Java程序的并发机制是()。
A.多线程
B.多接口
C.多平台
D.多态性
3.在方法内部使用,代表对当前对象自身引用的关键字是()。
A.super
B.This
C.Super
D.this
4.阅读下列程序
publicclassVariableUse{
publicstaticvoidmain(String[]args){
inta;
if(a==8){
intb=9;
System.OUt.println("a="+a):
System.out.println("b="+b);
}
System.Out.println("a="+a):
System.OUt.println("b="+b);
}
}
该程序在编译时的结果是()。
A.变量a未赋值
B.第二个System.out.println("b="+b)语句中,变量b作用域有错
C.第二个System.out.println("a="+a)语句中,变量a作用域有错
D.第一个System.out.println("b="+b)语句中,变量b作用域有错
5.下列不属于Swing的构件是()。
A.JButton
B.JLabel
C.JFrame
D.JPane
6.对鼠标单击按钮操作进行事件处理的接口是()。
A.MouseListener
B.WindowListener
C.ActionListener
D.KeyListener
7.AWT中用来表示颜色的类是()。
A.Font
B.Color
C.Panel
D.Dialog
8.下列运算符中,优先级最高的是()。
A.++
B.十
C.*
D.>
9.Java语言中属于跳转语句的是()
A.try
B.catch
C.finally
D.break
10.阅读下列利用递归来求n!的程序。
classFactorialTest{
staticlongFactorial(intn){//定义Factorial()方法
if(n==1)
returnl;
else
returnn*Factorial{};
}
publicstaticvoidmain{Stringa[]}{
//main()方法
intn=8:
System.out.println{n+"!="+Factorial
(n)};
}
}
为保证程序正确运行,在下画线处应该填入的参数是()。
A.n-1
B.n-2
C.n
D.n+1
参考答案:
1.A。【解析】Java虚拟机加载代码是在运行前的操作。运行代码时会校验、编译和执行代码。
2.A。【解析】Java是通过多线程实现并发机制的。多线程是指一个程序中包含多个执行流,多线程程序设计的含义是可以将程序任务分成几个并行的子任务。
3.D。【解析】super关键字为实现对父类变量的访问和对父类方法的调用。对当前对象自身的引用应使用this关键字。
4.B。【解析】局部变量b是在if(a==8){}里定义的,作用域也只在这个if语句范围内,第二个System.out.println("b="+b)语句中,变量b超出了作用域。
5.D。【解析】Swing构件中JButton是按钮构件,JLabel为标签构件,JFrame为顶层窗体容器构件。中间容器面板应为JPanel,而不是JPane。
6.C。【解析】动作事件和按钮按下,以及在TextField中按键对应的事件为ActionEvent事件,进行处理的接口应为ActionListener。MouseListener是MouseEvent事件的实现接口,响应的是鼠标的移动、单击(不包括单击按钮)事件。
7.B。【解析】AWT中Font是表示字体的类,Color是表示颜色的类,Panel是表示面板的类,Dialog是表示对话框的类。
8.A。【解析】在这些运算符中++运算符优先级最高。
9.D。【解析】Java语言中跳转语句为break。try、catch和finally为异常处理语句。
10.A。【解析】因为在n不为l时,n!=n*(n-1)*(n-2)*…*1=n*(n-1)!,所以此处应为n-1。
【5】
1.构造方法名必须与()相同,它没有返回值,用户不能直接调用它,只能通过new调用。
A.类名
B.对象名
C.包名
D.变量名
2.在多线程并发程序设计中,能够给对象x加锁的语句是()。
A.X.wait()
B.synchronized(x)
C.X.notify()
D.x.synchronized()
3.Java中类0bjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是()。
A.Writer
B.DataOutput
C.OutputStream
D.ObjectOutput
4.在下列程序的空白处,应填入的正确选项是()。
Importjava.io.*;
PulilcclassObjectStreamTest{
Publilcstaticvoidmain(stringargs[])throwsIOEx-
ception{
OhiectOutputStreamoos=newOhjectOutputStream
(newFileOutputStream("serial.bin"));
Java.util.Dated=newJava.util.Date();
Oos(d);
ObjectInputStreamois=
newOhjectlnputStream(newFileOutputStream("serial.
bin"));
try{
java.util.daterestoredDate=
(Java.util.Date)ois.readObject();
System.out.println
("readobjectbackfromserial.binfile:"
+restoredDate);
}
Catch(ClassNotFoundExceptioncnf){
System.out.println("classnotfound");
}
}
A.WriterObject
B.Writer
C.BufferedWriter
D.writerObject
5.Class类的对象由()自动生成,隐藏在.class文件中,它在运行时为用户提供信息。
A.Java编译器
.Java解释器
C.Javanew关键字
D.Java类分解器
6.某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有结点数为()。
A.11
B.12
C.13
D.14
7.程序流程图中的菱形框表示的是()。
A.处理步骤
B.逻辑处理
c.物理处理
D.控制流向
8.在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的()方法。
A.start
B.local
C.interrupt
D.run
9.代码System.out.println(066)的输出结果是()。
A.12
B.36
C.54
D.66
10.表达式(10*49.3)的类型是()。
A.double
B.char
C.long
D.float
参考答案:
1.A。【解析】构造方法名必须与类名相同。
2.B。【解析】Java平台将每一个由synchronized(object)语句指定的对象设置一个锁,称为对象锁,是一种独占的排他锁。
3.C。【解析】ObjeetOutputStream的直接父类是0utputStream。
4.D。【解析】本题考查的是输入/输出及文件操作,writerObject方法是向数据流中写入数据。
5.A。【解析】class文件是由编译器生成的。
6.D。【解析】叶子结点总是比度为2的结点多一个。所以,具有5个度为2的结点的二叉树有6个叶子结点。总结点数一6个叶子结点+5个度为2的结点+3个度为1的结点一14个结点。
7.B。【解析】程序流程图的主要元素:①方框:表示一个处理步骤;②菱形框:表示一个逻辑处理;③箭头:表示控制流向。
8.D。【解析]Thread类本身实现了Runnable接口,所以可以通过继承Thread类,并重写run()方法定义线程体,然后创建该子类的对象创建线程。
9.C。【解析】066代表8进制数据的66等于十进制的54。
10.A。【解析】运算中自动类型转换按优先关系从低级数据转换成高级数据。规定的优先次序是byte,short,char→int→long→float→double。
考无忧小编tips:
那些成功的人,不一定最初就是最优秀的,但一定都是坚持走了最远的。人生很多时候没有那么多道理可言,挺住,就意味着一切皆有可能。坚持复习以上的二级Java练习题,就意味着多一份考试通过的可能。
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯