全国计算机二级考试Java历年真题套卷(含答案)

全国计算机二级考试Java历年真题套卷(含答案)


2024年5月16日发(作者:)

全国计算机二级Java题卷一

一、选择题

1.计算机中数据的最小单位是:

A.字长 B.字节 C.位 D.字符

2.计算机中组织和存储信息的基本单位是:

A.字长 B.字节 C.位 D.编码

3.能够直接反映一台计算机的计算能力和精度的指标参数是:

A.字长 B.字节 C.字符编码 D.位

4.下列叙述中正确的是:

A.有的二叉树也能用顺序存储结构表示 B.有两个指针域的链表就是二叉链表

C.多重链表一定是非线性结构 D.顺序存储结构一定是线性结构

5.下列各排序法中,最坏情况下时间复杂度最小的是:

A.堆排序 B.快速排序 C.希尔排序 D.冒泡排序

6.某带链队列初始状态为front=rear=NULL。经过一系列正常入队与退队操作后,front=10,

rear=5。该队列中的元素个数为:

A.不确定 B.5 C.4 D.6

7.某二叉树的前序序列为ABDFHCEG,中序序列为HFDBACEG。该二叉树按层次输出(同

一层从左到右)的序列为:

GH CA BA FH

8.下面描述中正确的是:

A.软件就是可执行的程序 B.软件就是程序和数据

C.软件就是程序和相关文档 D.软件就是程序、数据及相关文档的集合

9.下面对“对象”概念描述正确的是:

A.操作是对象的动态属性 B.属性就是对象

C.任何对象都有继承性 D.对象是对象名和方法的封装体

10.在数据库的三级模式中,可以有任意多个:

A.外模式(用户模式) B.模式

C.内模式(物理模式) D.外模式和内模式

11.下列关于面向对象的论述中正确的是_____。

A.面向对象是指以对象为中心,解析、设计和实现应用程序的机制

B.面向对象是指以功能为中心,解析、设计和实现应用程序的机制

C.面向对象仅适用于程序设计阶段

D.面向对象是一种程序设计语言

12.语句“Hello”. equals(“hello”);的正确执行结果是_____。

C.0 D.1

13.下列关于Java源程序结构的论述中,正确的是_____。

A.一个文件包含的import语句最多1个 B.一个文件包含的public类最多1个

C.一个文件包含的接口定义最多1个 D.一个文件包含的类定义最多1个

14.下列不属于Java关键字的是____。

y

15.下列代码的执行结果是_____。

public class Test{

public static void main(String[] args){

int [] x={0, 1, 2, 3};

for(int i=0;i<3;i+=2){

try{

println(x[i+2]/x[i]+x[i+1]);

}catch(ArithmeticException e){

n("error1");

}catch (Exception e){

n("error2");

}

}

}

}

1

2

1

error2

D.2

error2

16.要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的填

写内容相同)

_____pathName=new______(args[0]);

String [] fileNames=();

putStream tputStream

AccessFile

17.在下列代码中应填入下划线中的是_____。

public class FirstSample{

public static void main(______args[]){

n(“你好!”);

}

}

类中的方法public int hashCode(),在其子类中覆盖该方法时,其方法修饰符可以是

_____。

ted e D.缺省

19.下列代码中的内部类名是_____。

import .*;

import .*;

class Talkingclock{

public void start (int interval, final boolean beep){

ActionListener listener=new ActionListener(){

public void actionPerformed (ActionEvent event) {

...

}

}

Timer t=new Timer(interval, listener);

t. start();

}

}

Listener

er D.匿名

20.已知zipname是一个压缩文件名,则zipname在下列代码中出现的正确位置是_____。

ZipInputStream zin = new ZipInputStream(new FileInputStream(①));

ZipEntry entry;

while((entry=tEntry(②))! =null){

m(e(③));

ntry(④);

}

();

A.① B.② C.③ D.④

21.下列代码的执行结果是_____。

int numbers[]=new int[6];

for(int i=1;i<;i++){

numbers[i]=i-1;

(numbers[i]+"");

}

中支持线程的类或接口是_____。

Ⅰ. Ⅱ.le

Ⅲ.Group Ⅳ.izable

A.Ⅰ,Ⅱ B.Ⅰ,Ⅱ,Ⅲ C.Ⅰ,Ⅱ,Ⅳ D.Ⅰ,Ⅱ,Ⅲ,Ⅳ

23.下列关于Test类的定义中,正确的是___。

Test implements Runnabte{

public void run(){}

public void someMethod(){}

Test implements Rnuuable{

public void run();

}

Test implements Rnuuable{

public void someMethod();

}

Test implements Rnuuable{

public void someMethod();{}

}

24.下列方法被调用后,一定使调用线程改变当前状态的是____。

() () () e()

25.在堆栈类SharedStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线

处填入的修饰符是(两个下划线的填写内容相同) ____。

public class SharedStack(

______int idx=0;

______char[]data=new char[10];

public synchronized void push(char C. {......}

public synchronized void pop{}{......}

}

B.不使用修饰符 e ted

26.关于下列代码编译或执行结果的描述中,正确是_____。

public class Test{

public static void main(String args[]){

TestThread pm1=new TestThread("one");

();

TestThread pm2=new TestThread("Tow");

();

}

}

class TestThread extends Thread{

private String sTname="";

TestThread(String s){

sTname=s;

}

public void run(){

for(int i=0;i<2;i++){

try{

sleep(1000);

}catch(InterruptedException e)(){

n(sTname+…);

}

}

}

}

A.不能通过编译,TestThread类中不能定义变量和构造方法

B.输出One One Two Two

C.输出Tow One One Two

D.选项B或C都可能出现

27.下列关于Applet的叙述中,正确的是___。

A.为了使Applet在浏览器中运行,需要在HTML文件智能嵌入相应的Applet类

不能从外部接受参数

不能使用javac命令进行编译

Application与Applet都必须包含main()方法

28.下列代码的下划线处应填入的方法名是_____。

import .*;

import .*;

public class Hello extends Applet{

public void______(Graphics g){

ring("How are you!", 10, 10);

}

}

t n

29.下列变量定义中,错误的是___。

x=3; f;d;

s="Hello!"; n b=true;

30.下列代码的执行结果是____。

Int length="Hello".length();

n(length);

A.5 B.2 C.10 D.6

31.下列代码的编译或执行结果是___。

public class MyVal{

puhlic static void main(String args[]){

MyVal m=new MyVal();

d();

}

public void aMethod(){

boolean b[]=new Boolean[5];

n(b[0]);

}

}

A.1 C.0 D.编译错误

32.若变量a是String类型的变量,那么表达式a+A. 的类型是____。

ent类中用于刷新组件的方法是____。

t() e()

34.鼠标在窗口中移动时,产生的事件是____。

Event vent

nt vent

35.语句"Hello"equals("hello");的正确执行结果是____。 35.

C.0 D.1

36.下列关于Java源程序结构的论述中,正确是____。

A.一个文件包含的import语句最多1个 B.一个文件包含的public类最多1个

C.一个文件包含的接口定义最多1个 D.一个文件包含的类定义最多1个

37.下列不属于Java关键字的是____。

y

38.下列代码的执行结果是 。

public class Test {

public static void main(String[] args) {

int[] x={0,1,2,3};

for(int i=0;i<3;i+=2){

try{

n(x[i+2]/x[i]+x[i+1]);

}catch(ArithmeticException e){

n("error1");

}catch(Exception e){

n("error2");

}

}

}

}

1

2

1

error2

D.2

error2

39.下列整数的定义中,错误的是____。

f=3.14; a=012;

i=189; d=0x123;

40.要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的内

容相同) 。

______pathname=new______(args[0]);

String[] filename=();

InputStream OutputStream

AccessFile

二、基本操作

41.下列程序是不完整的,请在注释行“//*********Found*********”下一行语句的下划线地

方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。

本题的要求是:

完善程序,使程序输出结果如下:

多高兴啊!

Hello World

您好吗?

程序代码:

public class Java_1 extends TT

{

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

public static void (______ args[] ______)

{

Java_1 t = new Java_1("World");

}

public Java_1(String s)

{

super(s);

n("您好吗?");

}

public Java_1()

{

this("Java");

}

}

class TT

{

public TT()

{

n("多高兴啊!");

}

public TT(String s)

{

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

__________________;

n("Hello "+s);

}

}

三、简单应用

42.下列程序是不完整的,请在注释行“//*********Found*********”下一行语句的下划线地

方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。

程序的功能是:

类Java_2中定义了方法triple(),该方法将传入的参数编程原来的3倍,程序中比较了方法

调用前后及执行过程中参数值得变化情况。程序输出结果如下:

程序代码:

public class Java_2

{

public static void main(String[] args)

{

n("观察triple方法参数 double 10.0 的改变:");

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

_________ canshu = 10;

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

n("参数*3前,参数值为 " + _________);

triple(canshu);

n("在triple方法外,参数值仍为 " + canshu);

n("思考:方法能否改变参数值?");

}

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

public static void _________ (double x)

{

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

__________________;

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

n("在triple方法内,参数 10 变为 " +_________ );

}

}

四、综合应用

43.下列程序是不完整的,请在注释行“//*********Found*********”下一行语句的下划线地

方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。

本题的要求是:

按照程序所指定的字体名称、类型和大小,在Applet窗口中显示“One World One Dream”字

符串。该程序输出结果如下:

程序代码:

import .*;

import .*;

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

public class Java_3 extends _________

{

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

public void _________ ()

{

Container contentPane = getContentPane();

JLabel label = new JLabel("One World One Dream",);

t(new Font("Arial", , DEFAULT_SIZE));

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

_________.add(label);

}

private static final int DEFAULT_SIZE = 24;

}

参考答案

1-5 CBAAA 6-10 AADAA 11-15 ABBDC 16-20 CDBBA

21-25 CBACA 26-30 DACBA 31-35 BBCDB 36-40 BDCAC

41. (1) main (2) String (3) this()

42. (1) double (2) canshu (3)triple (4) x=30.0 (5) x

43. (1) JApplet (2) init (3) contentPane

全国计算机二级Java题卷二

一、选择题

1.下列叙述中,错误的是()

A.内部类的名称与定义它的类的名称可以相同 B.内部类可用abstract修饰

C.内部类可作为其他类的成员 D.内部类可访问它所在类的成员

2.第三范式是在第二范式的基础上消除了:

A.非主属性对键的传递函数依赖 B.非主属性对键的部分函数依赖

C.多值依赖 D.以上三项

3.作为现代计算机基本结构的冯·诺依曼体系包括:

A.输入、存储、运算、控制和输出五个部分

B.输入、数据存储、数据转换和输出四个部分

C.输入、过程控制和输出三个部分

D.输入、数据计算、数据传递和输出四个部分

4.一般情况下,划分计算机四个发展阶段的主要依据是:

A.计算机所跨越的年限长短 B.计算机所采用的基本元器件

C.计算机的处理速度 D.计算机用途的变化

5.计算机在工作时无需人工干预却能够自动连续地执行程序,并得到预期的结果,主要是因

为:

A.安装了操作系统 B.配置了高性能CPU

C.配置了大容量内存 D.程序存放在存储器中

6.通常,现代计算机内部用来表示信息的方法是:

A.计算机内部均采用二进制表示各种信息

B.计算机内部混合采用二进制、十进制和十六进制表示各种信息

C.计算机内部采用十进制数据、文字显示以及图形描述等表示各种信息

D.计算机内部均采用十进制表示各种信息

7.设数据结构B=(D,R),其中D={a,b,c,d,e,f},R={(a,b),(b,c),(c,d),(d,e),(e,f),(f,a)}。该数据结构

为:

A.非线性结构 B.循环队列 C.循环链表 D.线性结构

8.下列排序法中,每经过一次元素的交换会产生新的逆序的是:

A.快速排序 B.冒泡排序 C.简单插入排序 D.简单选择排序

9.某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,

front=rear=10。该队列中的元素个数为:

A.1 B.0 C.1或0 D.不确定

10.某完全二叉树按层次输出(同一层从左到右)的序列为ABCDEFGH。该完全二叉树的前

序序列为:

FG GH CG CA

11.下列对Java特性的叙述中,错误的是()

A.在编写Java子类时可以自由地增加新方法和属性

的Applet要求编程首先创建JFrame窗口

语言用解释器执行字节码

中的类一般都有自己的属性和方法

12.下列对Java源程序结构的叙述中,错误的是()

语句必须在所有类定义之前

B.接口定义允许0或多个

Application中的public class类定义允许0或多个

e语句允许0或1个

13.下列变量定义中,正确的是()

l=123L l=3.14156f

i="k" d=1.55989E2f

14.下列Java表达式计算结果是()

19/3

(int)71.7-2*3

7% 3

(double)1/8+3

A.6.3

64

2

2.5

B.6

63

1

3.125

C.6.4

67

2

2.5

D.6

65

1

3.125

语句中表达式(expression)的值不允许用的类型是()

n

16.下列语句能给数组赋值而不使用for循环的是()

y{[1]="One";[2]="Two";[3]="Three";}

s[5]=new String[]{"Zero", "One", "Two", "There", "Four"};

s[]=new String[]{"Zero", "One", "Two", "There", "Four"};

s[]=new String[]=|"Zero", "One", "Two", "There", “Four"};

与AWT相比新增的布局管理器是()

yout yout

gLayout out

18.下列语句中正确的是()

. out. println(1+'1');

i=2+"2";

s="on"+'ong';

b=257;

19.下列关键字中可以表示常量的是()

t e ent

20.在Java语言中,被称为内存分配的运算符是()

ce of

C.[] D.()

21.在下列代码的下划线处应填入的内容是______。

public class FirstSample {

public static void main(______args[]) {

n("你好!");

}

}

22.阅读下面程序

public class My Val{

public static void main(String args[]){

MyVal m=new MyVal();

m. amethod();

}

public void amethod(){

boolean b[]=new Boolean[5];

}

}

程序编译或运行结果是()

A.1 C." " D.编译不能过

23.阅读下面求质数的程序

import java. lang. Math. * ;

public class MorePrimesTest{

public static void main(String[]args){

long [] primes=new long[20];

primes[0]=2L;

primes[1]=3L;

long number=5L;

outer:

for(int count=2; count<primes. length; number+=2L){

long limit=(long)Math. ceil(Math. sqrt((double)number));

for(int i=1; i<count && primes[i]<limit; i++){

if(number______primes[i]==0L){

cotinue outer;

}

}

for(int j=0; j<primes. length; j ++){

long n=primes[j];

System. out. println(n);

}

}

}

在程序下画线处填入的正确选项是()

A.& B.* C./ D.%

24.接口中,除了抽象方法之外,还可以含有()

A.变量 B.常量 C.成员方法

Buffer类字符串对象的长度是() 25.

A.固定 B.必须小于16个字符 C.可变

26.阅读下面写文件的程序

import java. io. *;

public class WriteFile{

public static void main(String[]A. {

int[]myArray={10,20,30,40};

try{

FileOutputStream f=new FlieOutStream("ints. dat");

DataOutputStream______=new DataOutputStream(f);

for(int i=0; i<myArray. length; i ++)

dos. writeInt(myArray[i]);

dos. close();

System. out. prinfln("Have written binary file ints. dat");

}

D.构造方法

D.必须大于16个字符

catch(IOException ioe){

System. out. println("IO Exception");

}

}

}

在程序下画线处填入的正确选项是______

y

27.阅读下面程序

public class Test2______ {

public static void main(String[] args){

Thread t=new Test2();

t. start();

}

public void run(){

System. out. priatln("How are you. ");

}

}

在程序下画线处填入的正确的选项是()

ents Thread s Runnable

ents Runnable s Thread

28.阅读下面程序

public class Test implements Runnable{

public static void main(String[]args){

_______________________________________;

t. start();

}

public void mR(){

System. out. println("Hello!");

}

在程序下画线处填入正确选项是()

t=flew Test()

t=new Thread();

t=new Thread(new Test());

t=new Thread();

29.下列关于Applet中加载图像的说法,错误的是______

A.可以使用Applet类的getImage()方法获得图像对象

B.程序员必须自行定义获得图像及显示图像的类和方法

C.图像由一个java. Image类的对象来表示

D.可以使用Graphics类的drawImage()方法显示图像

30.下列带下画线的标识符符合Java命名约定的是()

e

class xyz

I

setCustomerName( )

AccessFile是java. io包中的一个兼有输入输出功能的类。由于它是随机访问,所

以文件读写一个记录的位置是()

A.起始 B.终止 C.任意

32.阅读下面Applet程序

import javax. swing. *;

import java. awt. *;

public class SwintgApplet extends JApplet{

JLabel 1=new JLabel("This is a Swing Applet.");

public void init(){

________________________________

}

}

在程序下画线处填入正确的选项是()

ner contentPane=getContenPane(); cotentPane. add(1);

comtenPane=new Jpane(); contentPane. add(1);

tPane. add(1);

(1);

33.在Java中,“目录”被看作是()

A.文件 B.流 C.数据

34.阅读下面实现堆栈类并发控制的部分代码

public class DataStack{

private int idx=0;

private int [] data=new int[8];

public void push(int i){

. ________________{

data[idx]=i;

idx + +;

}

}

……

}

在程序下画线处填入正确选项是()

onized onized(this)

onized() onized(idx)

D.固定

D.接口

35.下列关于对象串行化的说法错误的是()

中,默认所有类的对象都可串行化

B.在对象串行化时,不保存对象所属类的构造方法

C.在实现Serializeble接口的类中,用transient关键字可使某些数据不被串行化

InputStream和ObjectOutputStream类都支持对象的读和写

类中的方法public int hashCode(),在其子类覆盖该方法时,其方法修饰符可以是 。

ted e D.缺省

37.下面代码中的内部类名是______。

import *;

import .*;

class TalkingClock {

public static void main(int interval,final boolean beep) {

ActionListener listener=new ActionListener(){

public void actionPerformed(ActionEvent event){

.....

}

}

Timer t=new Timer(interval,listener);

();

}

}

Listener

er D.匿名

38,已知zipname是一个压缩文件名,则zipname在下列代码中出现的正确位置是______。

ZipInPutStream zin=new ZipInPutStream(new FileInPutStream(①));

ZipEnatry entry;

While((entry = tEntry(②))!=null{

m(e(③));

ntry(④);

}

();

A.① B.② C.③ D.④

39.下列代码的执行结果是______。

int numbers[]=new int[6];

for(int i=1;i<;i++){

numbers[i]=i-1;

(numbers[i]+" ");

}

API中支持线程的类或接口是( )。

Ⅰ. Ⅱ.le

Ⅲ.Group Ⅳ.izable

A.Ⅰ,Ⅱ B.Ⅰ,Ⅱ,Ⅲ C.Ⅰ,Ⅱ,Ⅳ D.Ⅰ,Ⅱ,Ⅲ,Ⅳ

二、基本操作

41.下列程序是不完整的,请在注释行“//*********Found*********”下一行语句的下划线地

方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。

程序的功能是:

在给定求的半径时计算出球的体积。当程序运行时,在命令屏幕上给出程序

功能的提示,并显示输入半径的窗口

根据考生输入球半径的值计算体积,并在命令屏幕上显示结果。

程序代码:

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

import ___________.swing.*;

public class Java_1

{

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

public __________ void main(String[] args)

{

n();

n("这是一个指定球半径,求球体积的程序。");

String input=putDialog("请输入球半径。");

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

double r=ouble(___________);

n("当球的半径是" + r + "时,该球的体积是 " + (*r*r*r*4/3));

(0);

}

}

三、简单应用

42.下列程序是不完整的,请在注释行“//*********Found*********”下一行语句的下划线地

方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。

程序的功能是:

定义了一个简单的线程,可以对其名称进行设置。该程序运行时的输出结果

如下:

Running the Testing_Thraed

---0---Testing_Thread

---1---Testing_Thread

---2---Testing_Thread

---3---Testing_Thread

---4---Testing_Thread

程序代码:

public class Java_2

{

public static void main(String[] args)

{

Thread t = new SimpleThread("Testing_Thread");

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

___________;

}

}

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

class SimpleThread extends ___________

{

public SimpleThread(String str)

{

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

___________;

}

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

public void ___________ ()

{

n("Running the " + getName() + ":");

for (int i = 0; i < 5; i++)

{

n("---" + i + "---" + getName());

try

{

sleep((int)(2 * 100));

}

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

___________ (InterruptedException e) { }

}

}

}

四、综合应用

43.下列程序是不完整的,请在注释行“//*********Found*********”下一行语句的下划线地

方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。

本题的要求是:

在JFrame窗口中,显示出红色的2008北京奥运会主题口号“同一个世界,同一个梦想”,同

时在窗口的上方,有三个按钮可以改变窗口的背景色。

该程序的运行结果如下:

程序代码:

import .*;

import .*;

import .*;

import .*;

import .*;

public class Java_3

{

public static void main(String[] args)

{

FontFrame frame = new FontFrame();

aultCloseOperation(_ON_CLOSE);

ible(true);

}

}

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

class FontFrame extends __________

{

public FontFrame()

{

setTitle("北京 2008");

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

FontPanel panel = new FontPanel();

Container contentPane = getContentPane();

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

(__________);

}

public static final int DEFAULT_WIDTH = 400;

public static final int DEFAULT_HEIGHT = 250;

}

class FontPanel extends JPanel

{

public FontPanel()

{

JButton yellowButton = new JButton("Yellow");

JButton blueButton = new JButton("Blue");

JButton redButton = new JButton("Green");

add(yellowButton);

add(blueButton);

add(redButton);

ColorAction yellowAction = new ColorAction();

ColorAction blueAction = new ColorAction();

ColorAction greenAction = new ColorAction();

ionListener(yellowAction);

ionListener(blueAction);

ionListener(greenAction);

}

public void paintComponent(Graphics g)

{

omponent(g);

Graphics2D g2 = (Graphics2D)g;

String message = "同一个世界,同一个梦想!";

Font f = new Font("隶书", , 27);

t(f);

FontRenderContext context = tRenderContext();

Rectangle2D bounds = ingBounds(message, context);

double x = (getWidth() - th()) / 2;

double y = (getHeight() - ght()) / 2;

double ascent = -();

double baseY = y + ascent;

nt();

ring (message, (int)x, (int)(baseY));

}

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

private class ColorAction __________ ActionListener

{

public ColorAction(Color c)

{

BackgroundColor = c;

}

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

public void __________ (ActionEvent event)

{

setBackground(BackgroundColor);

}

private Color BackgroundColor;

}

}

参考答案

1-5 AAABD 6-10 AAAAA 11-15 BCADC 16-20 CDAAA

21-25 DDDBC 26-30 BDCBD 31-35 CAABA 36-40 BBACB

41.(1) javax (2) static (3) input

42.(1) () (2) Thread (3) setName(str) (4) run (5) catch

43.(1) JFrame (2) panel (3) implements (4) actionPerformed


发布者:admin,转转请注明出处:http://www.yc00.com/web/1715795503a2672869.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信