盘点-2019年6月二级Java练习题

发布于 2019-05-05 14:31  编辑:simi
0
计算机等级考试题库 扫码微信刷题


你今天的努力,是幸运的伏笔,当下的付出,是明日的花开。让我们怀揣希望去努力刷二级Java练习题,静待美好的出现。



二级Java练习题

1

1.下列程序的输出结果是()

publicclassArrayTest

{

publicstaticvoidmain(Stringargs[])

{

int[]intArray=newint[3]

for(inti=0;i<3;i++)

{

intArray[i]=i+2

system.out.println("lntArray["+i+"]¨=

intArray[i]);

}

System.out.println("----------");

intarrlen=4

IntArray=newint[arrLen];

For(intj=intArray.length;j>=0;j--)

{

intArray[j]=j*3;

system.out.println("hello"+intArray[j]);

}

}

}

A.编译未通过

B.编译通过,但运行错误

C.可以运行,但有错误

D.以上都不对

 

2.下列程序的运行结果是()

Publicclasssun

{

Publicstaticvoidmain(Stringargs[])

{

intx=4y=0;

if(Math.pow(X2)==16)

y—x;

if(Math.pow(X2)<15)

y—l/x;

if(Math.pow(X2)>15)

y=(int)Math.pow(X2)+1;

system.out.println(y);

}

}

A.4

B.17

C.18

D.0.25

 

3.自定义的异常类可从()类继承。

A.Error

B.AWTError

C.VirtualMachineError

D.Exception及其子集

 

4.tint类型,进入下面的循环之前,t的值为0。则下列说法中正确的是()while(t=1){}

A.循环控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式不合法

D.以上说法都不对

 

5.下面for循环语句的执行结果是()

for(intj=10;j>3;j--)

if(j1=O)

j--;

--j;

--j;

System.OUt.println(j);

}

A.63

B.74

C.62

D.73

 

6.关于Applet执行的操作,下面说法正确的是()

A.在运行时调用其他程序

B.可以进行文件读/写操作

C.不能装载动态连接库和调用任何本地方法

D.试图打开一个socket进行网络通信,但是所连接的主机并不是提供Applet的主机

 

7.下列关于Applet生命周期的说法,正确的是()

A.voidinit()Applet下载前调用

B.voidstart()只在初始化之后调用

C.voidstop()在关闭浏览器时调用

D.stop()总在voiddestroy()之前被调用

 

8.对于下面语句的说法,不正确的是()ThreadthrObj=newThread()

A.系统没有为该线程对象分配资源

B.只能启动或者终止

C.创建了一个空的线程对象

D.可以调用其他方法

 

9.Java中,线程是()

A.分时的

B.抢占式的

C.非抢占式的

D.非分时的

 

10.下列关于线程和进程的说法正确的是()

A.进程结构的所有成分都在用户空间内

B.用户程序能够直接访问进程涉及的数据

C.线程是内核级的实体

D.线程结构驻留在用户空间中

 

1.B。【解析】这是一道考查数组引用的题,目的是考查如何在程序中引用初始化后的数组。引用的方式为arrayName[index],其中index为数组的下标,可以为整数、变量和表达式,范围从0开始,一直到数组的长度减l。在Java语言中,是要对数组下标进行检查的。因此,当程序运行到数组的长度值时,就发生了越界现象。

 

2.B。【解析】本题是考查对if-else分支结构和几个标准函数的理解。pow(xy)方法是XY次幂,程序中pow(x2)满足第1if语句和第3if语句,条件变量y将被赋值两次,但对于同一个变量来说,只能存储最后一个所赋的值。

 

3.D。【解析】Java语言中Throwable类分为ErrorException两个子类。自定义的异常类是从Exception及其子集类继承的。

 

4.B。【解析】本题考查对while循环及逻辑表达式的理解。循环控制表达式为赋值表达whitet=1,永远为l(为真)

 

5.B。【解析】该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了1次,j的值为9,执行if语句,j%3=0不满足条件,继续向下执行2--jj的值为7:②当j=7时,满足条件j>3,由于for循环中J一一执行了1次,j的值为6,执行if语句,i%3=0不满足条件,继续向下执行2--jj的值为4

 

6.C。【解析】本题考查Applet的概念。Java虚拟机为Applet提供能够良好运行的沙箱,一旦它们试图离开沙箱则会被禁止。由于Applet是通过网络传递的,这就不可避免地使人想到会发生安全问题。例如,有人编写恶意程序通过小应用程序读取用户密码并散播到网络上,这将会是一件非常可怕的事情。所以,必须对小应用程序进行限制。浏览器禁止Applet运行任何本地可运行程序,选项A错误。禁止加载本地库或方法,Applet只能使用自身的代码或Applet浏览器提供的JavaAPl,不允许装载动态连接库和调用任何本地方法,选项C正确。禁止读/写本地计算机的文件系统,选项B错误。禁止与没有提供Applet的任何主机建立网络连接,如果Applet试图打开一个socket进行网络通信,所连接的主机必须是提供Applet的主机,选项D错误。

 

7.D。【解析】本题考查Applet生命周期的概念。Applet生命周期是考试重点考查内容,应该加以重视。init()Applet下载时调用,而不是下载前调用,选项A错误。start()在初始化之后以及在Applet被重新访问时调用,不仅仅只是在初始化之后调用,选项B错误。stop()在停止执行时调用,关闭浏览器时调用的是destroy(),选项C错误。destroy()在关闭加载Applet的浏览器从系统中撤出时调用,此时Applet必然调用stop()方法停止其运行,然后才能调用destroy()方法从内存卸载并释放该Applet的所有资源。注意理解Applet的执行过程。

 

8.D。【解析】本题考查线程的创建。通过new命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项C说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误。

 

9.B。【解析】本题考查线程的调度。Java的线程调度策略是一种基于优先级的抢占式调度,选项B正确。Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。线程一般通过使用sleep()等方法保证给其他线程运行时间。

 

10.D。【解析】本题考查线程和进程的概念。线程与进程在概念上是相关的,进程由代码、数据、内核状态和一组寄存器组成,而线程是由表示程序运行状态的寄存器,如程序计数器、栈指针以及堆栈组成,线程不包括进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直接访问这些数据。线程是一个用户级的实体,线程结构驻留在用户空间中,能够被普通的用户级方法直接访问。

 

 

 

2

1.下列选项成员变量声明正确的是()

A.publicprotectedfinalinti;

B.abstractclassFl{…}

C.privatedoubleheight;

D.doubleweight()

 

2.下面程序段的输出结果是()

classTest{

publicstaticvoidmain(Stringargs[]){

MyThreadt=newMyThread();

t.displayOutput("thasbeencreateD");

t.start();

}

}

ClassMyThreadextendsThread{

publicvoiddisplayOutput(Strings){

System.out.println(s);

}

publicvoidrun(){

displayOutput("tisrunning.");

}

}

A.thasbeencreated.

B.thasbeencreated.tisrunning.

C.tisrunning.

D.编译出错

 

3.执行下列程序时,会产生什么异常()

publicclassTest{

publicstaticvoidmain(Stringargs[]){

intd=101;

intb=220

longa=321;

System.OUt.println((a-b)/(a-b-d));

}

}

A.ArraylndexOutOfBoundsException

B.NumberFormatException

C.ArithmeticException

D.EOFExeeption

 

4.下面程序段的输出结果为()

publicclassTest

{

publicstaticvoidmain(Stringargs[])

{

booleanabC;

a=(3<5)

b=(a==true);

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

c=(b==false);

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

}

}

A.a=trueb=falseB.fl=trueb=false

b=truec=trueb=truec=false

C.a=trueb=trueD.a=falseb=false

b=truec=falseb=truec=false

 

5.下面程序段的输出结果是()

publicclassTest{

publicstaticvoidmain(Stringargs[]){

intab;

for(a=1b=1;a<=100;a++){

if(b>=10)break;

if(b%2==1){

b+=2

continue;

}

}

System.OUt.println(a);

}

}

A.5B.6

C.7D.101

 

6.栈中允许进行插入和删除的一端称为()

A.栈顶B.栈底

C.栈端D.栈尾

 

7.下面程序段的输出结果是()

publicclassTest{

publicstaticvoidmain(Stringargs[]){

inti=1

switch(i){

case0

System.OUt.println("0");

break;

casel

System.out.println("1");

case2

System.OUt.println("2");

break;

default

System.out.println("default");

}

}

}

A.01

B.12

C.10

D.21

 

8.Frame默认的布局管理器是()

A.FlowLayout

B.BorderLayout

C.GridLayout

D.UpLayout

 

9.Java语言中,ObjectOutputStream是指()

A.字节流

B.字符流

C.对象输出流

D.数据流

 

10.请阅读下列程序代码,然后将程序的执行结果补充完整。横线处应填写的内容是()

程序代码:

publicclassthrowsExeeption{

staticvoidProc(intsel)

throwsArithmeticExceptionArrayIndexOutOf

BoundsException{

System.out.println("InSituation"+sel);

if(sel==0){

System.OUt.println("noExceptioncaught");

return;

}

elseif(sel==l){

intiArray[]=newint[4];

iArray[1]=3;

}

}

publicstaticvoidmain(Stringargs[]){

try{

Proe(O);

Proc(1);

}

catch(ArrayIndexOutOfBoundsExceptione){

System.out.println("Catch"+e);

}

finally{

System.out.println("inProcfinally")

}

}

}

执行结果:

InSituation0

noExceptioncaught

inProcfinally

A.InSituationl

B.InSituation

C.withCatch

D.intiArrayl

 

1.C。【解析】本题考查对成员变量的声明。成员变量的声明格式为:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是publicprotectedprivatestaticfinaltransientvolatile等。选项A错误,成员变量不能同时声明成publicprotected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以";"结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。

 

2.B。【解析】start()方法就可以启动该线程,线程也就处于可运行状态RunnableStart()方法产生了线程运行需要的系统资源,并调用线程体,也就是run()方法,使得线程可以进入运行状态。程序运行时首先创建一个新的线程对象t,并调用displayOutput(Strings)方法输出thasbeencreatedt.start()方法调用run()方法,输出tisrunning,所以正确答案为选项B

 

3.C。【解析】本题考查异常的概念。首先应该掌握题目选项中给出的都是什么类型的异常。选项A是当访问数组中非法元素时引发,出现数组负下标异常。选项B是格式化数字异常。选项C是算术异常,如程序触发分母为0,或用0取模时出现。选项D是文件已结束异常。当Java执行这个算术表达式的时候,由于求模运算的分母是a-b-d=0,就会构造一个ArithmetieException的异常对象来使程序停下来并处理这个错误的情况,在运行时抛出这个异常。默认的处理器打印出Exception的相关信息和发生异常的地点。

 

4.C。【解析】本题考查关系运算符<==。题目中a=(3<5);比较35的大小,因为3<5,返回truea;b=(a==true);判断a是否为真,因为a确实为真,返回trueb;c=(b==false);判断b是否为假,因为b不为假,返回falsee。最后结果a=trueb=trueb=truee=false,选项C正确。

 

5.B。【解析】本题考查for循环和if语句的嵌套以及break语句和continue语句的用法。第1if语句的意义为:当b>=10时退出for循环,第2if语句的意义为:如果b%2=1,则b的值加2并退出本次循环。本程.序当b的值分别为l3579的时候执行5次循环,此时a=5b=9,当执行第6次循环时,a的值为6,但b=11,所以退出循环,程序结束。

 

6.A。【解析】栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。

 

7.B。【解析】本题考查switch-case-break的用法。每个分支语句后面必须有break语句,否则程序向下执行,直到遇到break语句或程序结束。所以该题i=1时执行easel分支语句,而casel分支语句后没有break语句,程序继续向下执行case2分支语句,case2语句后有break语句,故程序不执行default分支语句。

 

8.B。【解析】本题考查Java中的布局管理器。FlowLayoutPaneApplet默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayoutWindowFrameDialog的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置一个构件;OridLayout使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout把容器分成许多层,每层只能放置一个构件。

 

9.C。【解析】本题考查Java输入\输出流的概念。FilelnputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象输出流,既继承了OutputStream抽象类,又实现了0bjectOutput接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。

 

10.A。【解析】本题考查考生阅读Java程序的能力。题目程序看似复杂,但流程非常简单。程序的public类是thtowsExeeption,类中定义了Proe(intsel)方法。程序入口是main()方法,使用try-catch-finally来捕获ArithmeticExeeptionArrayIndexOutOfBoundsExeeption异常,这两个异常是关于算术异常或数组索引越界的异常。执行Proe(0)时,输出InSituation0noExceptioncaught两条信息;执行Proc(1)时,输出InSituationlinProcfinally两条信息。整个程序并未发生异常。

 

 

 

3

1.用来导入已定义好的类或包的语句是()

A.main

B.import

C.publicclass

D.ClaSS

 

2.下列叙述中,正确的是()

A.声明变量时必须指定一个类型

B.Java认为变量numberNumber相同

C.Java中唯一的注释方式是“//

D.源文件中public类可以有0个或多个

 

3.下列属于合法的Java标识符是()

A."ABC"

B.&5678

C.+rriwo

D.saler

 

4.下列代表十六进制整数的是()

A.Ol23

B.1900

C.fa00

D.0xa2

 

5.Java中,实现用户界面功能的包是()

A.java.applet

B.javax.transaction

C.java.util

D.java.awt

 

6.下面()正确表示了int类型的聚会范围。

A.-216216-1

B.-231231-1

C.-232232-1

D.-264264-1

 

7.在编写Java程序的时候,如果不为类的成员变量定义初始值,Java会给它们设置默认值,下列说法中不正确的是()

A.Byte的默认值是0

B.int的默认值是0

C.long的默认值是0.0L

D.float的默认值是0.Of

 

8.Java.语言中所有的简单数据类型都被包含在()中。

A.java.sql

B.java.awt

C.java.lang

D.java.math

 

9.a=8,则表达式a>>>2的值是()

A.1

B.2

C.3

D.4

 

10.以下各选项中能正确声明一个表示50个值为null的字符串数组的是()

A.string[]a;

B.stringa[];

C.chara[50][];

D.stringa[]=newString[50]

 

1.B。【解析】本题考查Java中的import语句。Java中使用import语句来导入已定义好的类或包,需要注意Java语言的java.lang包是编译器自动导入的,编程时如果使用该包中的类,可省去import导入,如果要使用其他包中的类,必须用import导入。

 

2.A。【解析】本题考查Java的基本概念。Java的基本概念是考试重点,应该重视。在Java中,声明变量时,必须指定类型,否则将会出错,所以选项A说法正确。Java标识符是区分大小写的,变量numberNumberJava来说是不同的,选项B说法错误。Java中有三种注释方式:文档注释/***/,被javadoc处理,可以建立类的一个外部说明性文件;C语言注释风格/**/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信息,选项C说法错误。源文件中public类可以有0个或l个,不能多于l个,选项D说法错误。

 

3.D。【解析】本题考查Java语言中的整型常量。整型常量有三种书写格式:十进制整数,如156-230345;八进制整数,以0开头,如012表示十进制的l0;十六进制整数,以0x0X开头,如0X123表示十进制数291。由此可见,选项A表示的是十六进制整数,选项B不是整数形式,选项C是十进制整数,选项D是八迸制整数,为本题正确选项。Java中标识符的命名规则是:标识符以字母、下画线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java中标识符不能以“"”开头,所以选项A错误,不能以“&”开头。选项B错误,不能以“+”开头,选项C错误,只有选项D是正确答案。

 

4.D。【解析】本题考查Java语言中的整型常量。整型常量有三种书写格式:十进制整数,如123-30365;八进制整数,以0开头,如011表示十进制的9;十六进制整数:以0x0X开头,如0X123表示十进制数291。由此可见,选项D表示的是十六进制整数,选项C不是整数形式,选项B是十进制整数,选项A是八进制整数,只有选项D为本题正确选项。

 

5.D。【解析】本题考查考生对Java包功能的理解。选项Ajava.applet包是为Applet提供执行需要的所有类,主要访问Applet内容的通信类;选项Btransaction包是属于javax而不是javajavax.transaction包是提供事务处理所需要的包;选项Cjava.util包提供使用程序类和集合类,如系统特性定义和使用、日期函数类、集合CollectionMapListArray等常用工具类;java.awt包是封装抽象窗口工具包,提供构建和管理用户图形界面功能,为本题正确答案。

 

6.B。【解析】该题考查对基本数据类型的长度范围的掌握。在Java语言中,每一种基本类型的长度范围是固定的,它不随着机器字长的改变而改变。对于整型(int),它的长度是4字节,而且它可正可负,所以其取值范围应该是-231231-1

 

7.C。【解析]Long类型的默认值为0L,而不是0.0L

 

8.C。【解析Java语言中,所有的简单数据类型都被包含在包java.lang中。

 

9.B。【解析】本题具体考查对位运算符中无符号右移运算符的掌握。无符号右移运算符”>>>”用于将一个数的各二进制位全部无符号右移若干位,与运算符”>>”不同的是左补0。在本题中,8的二进制表示l000,右移两位后变成了0010,对应的十进制数是2

 

10.D。【解析】本题考查对字符串数组变量声明的掌握。在Java语言中,typearrayName[]type[]arrayName的效果一样,都表示声明一个数组。所以选项A和选项B的效果是一样的,对于本题来说都是不正确的,因为它们没有指明数组所包含的元素的个数;选项C是一个二维的字符数组,Java语言跟C语言不一样,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组。而在Java中,字符char是基本数据类型,字符串string则是以对象的形式来表示的。所以,chara[][]并不等价于stringa[]。而且,C选项并没有指明数组的长度;选项D正确地声明了一个长度为50的空字符串数组。

 

 

 

4

1.如果进栈序列为ele2e3e4e5,则可能的出栈序列是()

A.e3ele4e2e5

B.e5e2e4e3el

C.e3e4e1e2e5

D.任意顺序

 

2.下述关于数据库系统的叙述中,正确的是()

A.数据库系统减少了数据冗余

B.数据库系统避免了一切冗余

c.数据库系统中数据的一致性是指数据类型一致

D.数据库系统比文件系统能管理更多的数据

 

3.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()

A.控制流

B.加工

C.数据存储

D.源和终

 

4.已知一个有序线性表为(131824354750628390115134),当用二分法查找值为90的元素时,查找成功的比较次数为()

A.1

B.2

C.3

D.9

 

5.下列运算结果为1的是()

A.8>>1

B.4>>>2

C.8<<1

D.4<<<2

 

6.下列关于项目中“移出”文件的说法,正确的是()

A.被移出的文件将直接从磁盘中删除

B.被移出的文件将不能被任何项目添加

C.被移出的文件只是将文件移出项目,但文件保留在磁盘中

D.被移出的文件,以后不能再次添加到原项目中,但可以添加到其他项目中

 

7.需求分析阶段的任务是()

A.软件开发方法

B.软件开发工具

C.软件开发费用

D.软件系统功能

 

8.R是一个2元关系,S是一个3元关系,则下列运算中正确的是()

A.R-S

B.R×S

C.RnS

D.RUS

 

9.结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。

A.对象

B.数据结构

C.数据流

D.目标

 

10.数据库设计包括两个方面的设计内容,它们是()

A.概念设计和逻辑设计

B.模式设计和内模式设计

C.内模式设计和物理设计

D.结构特性设计和行为特性设计

 

1.B。【解析】根据栈先进后出的特点可知el肯定是最后出栈的,因此正确答案为选项B

 

2.A。【解析】数据库系统会减少数据冗余,但不可能避免所有冗余。

 

3.A。【解析】数据流图简称DFD,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有4种基本图形符号:箭头表示数据流;椭圆表示加工;双杠表示存储文件(数据源);方框表示数据的源点或终点。

 

4.B。【解析】根据二分法查找需要两次:首先将90与表中间的元素50进行比较,由于90大于50。所以在线性表的后半部分查找;第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。

 

5.B。【解析】>>是按位右移运算符,<<是按位左移运算符,>>>是添零右移运算符,没有<<<运算符。

 

6.C。【解析】在数据库中移除不代表删除,从项目中移除是指文件只是从项目中移除,但文件还保存在磁盘中,如果需要仍然可再次添加到此项目中。当在项目中删除文件后,文件才能被添加到其他的项目中。所以答案选择C

 

7.D。【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。

 

8.B。【解析】关系的交(n)、并(U)和差()运算要求两个关系是同元的,显然作为二元的R和三元S只能做笛卡儿积运算。

 

9.C。【解析】结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解、建立系统的处理流程。

 

10.A。【解析】数据库设计包括概念设计和逻辑设计两个方面的内容。




考无忧小编tips

不求时时刻刻在刷计算机等级考试题库,但求记住要劳逸结合刷题、复习。今天,你刷了多少题?复习了以上的二级Java练习题了吗?



文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1905/0551707.html
选择分享到: